Lightstep

(acquired by ServiceNow)

Workflow Links

Workflow Links connect Lightstep traces to any tool so developers don’t waste time looking for URLs and transcribing context during an outage.

Team
Skills
Product design
User research
UX
UI
Timeline

8 weeks

Date

2019

Why this project?

This project demonstrates my interaction design skills and ability to collaborate with engineers to deliver a simple yet powerful solution.

Impact

We delivered a highly adopted solution on time.

By the numbers

  • 80% Of new service have at least one workflow link

  • 50 Average number of links created per customers

  • 700 Average number of links clicked per customer in 30 days

Why this project?

This project demonstrates my interaction design skills and ability to collaborate with engineers to deliver a simple yet powerful solution.

Impact

We delivered a highly adopted solution on time.

By the numbers

  • 80% Of new service have at least one workflow link

  • 50 Average number of links created per customers

  • 700 Average number of links clicked per customer in 30 days

Why this project?

This project demonstrates my interaction design skills and ability to collaborate with engineers to deliver a simple yet powerful solution.

Impact

We delivered a highly adopted solution on time.

By the numbers

  • 80% Of new service have at least one workflow link

  • 50 Average number of links created per customers

  • 700 Average number of links clicked per customer in 30 days

Challenge

When fighting an outage, developers traverse multiple tools to investigate impact, understand a potential root-cause, and validate fixes.

Tool URLs and credential are often spread across bookmarks, run books, wikis, and password managers.

After logging into the right tool, developers still need to select the associated service, filters, and time frame
– costing crucial minutes and adding stress.

Lightstep traces contain a wealth of context in span tags.

How might we use span tag metadata to reduce the time it takes developers to switch tools in an outages?

When fighting an outage, developers often traverse multiple tools to investigate impact, understand a potential root-cause, and validate fixes.

Tool URLs and credential are often spread across bookmarks, run books, wikis, and password managers.

After logging into the right tool, developers still need to select the associated service, filters, and time frame – costing crucial minutes and adding stress.

Lightstep traces contain a wealth of context in span tags.

How might we use span tag metadata to reduce the time it takes developers to switch tools in an outages?

Choosing the right tools

We conducted internal and customer surveys to identify the most common and critical tools used in outages.

Code

Monitoring/

logging

Platform

CI/CD

Span-based

$hasError
$service
$operation
$parentSpanGUID

Time-based

$durationMicros
$endTimeISO
$startTimeISO-5min
$startTimeISO+5mi

Misc.

$platform
$platformVersion
$project

Surfacing the value in variables

Variable are span tags defined by developers in their service’s code or provided by Lightstep. They hold tool-specific context that can be used when generating links.

Solving for real-world use cases

By combining tool URLs with variables we began to see the potential use-cases of dynamic links.

View the wiki playbook page for this error

http://wiki.com/playbook/auth_error#{{http.status_code}}

View the code for this operation

www.github.com/acme/acme_code/search?q={{$operation}}

View GCP Stackdriver logs for this span

https://console.cloud.google.com/logs/viewer?project= MY_PROJECT_NAME&advancedFilter=MY_SEARCH_TERMS &timestamp={{$startTimeISO}}&interval=JUMP_TO_TIME& scrollTimestamp={{$startTimeISO}}

Post this trace to a Slack channel

https://slack.com/app_redirect?channel=on_call

Creating links

Simple interactions, feedback, and test URLs helped users confidently create links.

Templates: Template URLs made link creation more efficient. We added a cookbook in our docs for further inspiration.

Template variables: Developers can use variables in link URLs, Rules, and Names which are replaced at run-time.

Templates: Developers can control when a link appears on the Trace page with JSON and variables.

Templates: Custom display text makes it easy to organization and differentiate links in a list. We show a preview to make it clear.

Surfacing links

We showed links on the Trace page panel for easy access when developers need to switch tools.

Managing Links

We provided a centralized view of all links and bulk actions for managing the entire link life-cycle.

Workflow Links were consistently created and used by customers

80%

Of new service include at least one workflow link

50

Average number of links created per customers

700

Average number of links clicked per customer in 30d

Workflow Links were consistently created and used by customers

80%

Of new service include at least one workflow link

50

Average number of links created per customers

700

Average number of links clicked per customer in 30d

Workflow Links were consistently created and used by customers

80%

Of new service include at least one workflow link

50

Average number of links created per customers

700

Average number of links clicked per customer in 30d

More work