Dashboard workflow links are similar to Workflow Links, but there are some differences. You don’t need to apply rules for when to show them (they are always displayed). Additionally, you can use both attributes and template variables in the link. Dashboard links don’t appear on the Workflow Links settings page.
You can add dashboard workflow links to a dashboard or panel that allow you to navigate to another app or another place in Cloud Observability. You can use variables in the link to keep some context of the dashboard when navigating. Variables can represent an attribute value currently returned by the query or the current value(s) of a template variable.
For example, you can create a link that creates a notebook with a query on the given service. Or you can create a link that navigates to the GitHub repository for the given operation.
Cloud Observability provides several templates to get you started or you can create your own links from scratch.
For each link, you provide a name and a resolvable URL. You can use static names and URLs that don’t change or you can use variables to create dynamic names and URLs based on the data currently shown in the dashboard.
You can use variables that represent either template variables on a dashboard, attribute values returned by a panel’s query (user-defined variables), or use the Cloud Observability variables. At runtime, these variables resolve to the values currently shown on the dashboard or panel.
If a link includes a user-defined variable for an attribute that doesn’t exist in the data, the link will be undefined and won’t resolve.
Because template variables are based on attribute values, follow these tips to decide which to use in your link:
User-defined attribute variables use this syntax: {{ attribute_name }}
, for example {{ host_name }}
.
Template variables use this syntax: {{ $template_variable_name:queryparam }}
, for example {{ $kube_app_instance:queryparam }}
.
For Cloud Observability variables, see this topic for the correct syntax/phrase to use.
Every link must have a name - this becomes the link anchor text. You can include variables in names. For example, say you want to create a link to the Logs view for the service currently shown on the dashboard. You would configure the link name as Logs for {{$service}}
and at runtime, {{$service}}
is replaced by the service from the current attribute value used by the dashboard or panel (in this case, $service
is a Cloud Observability variable).
Every link must point to a valid, resolvable URL. This can be a static URL or it can include variables replaced at runtime.
For example, you might create a link to the GitHup repo for an operation so someone debugging an issue can jump right in. You can use {{ $operation }}
in the URL to perform a search for the operation currently displayed in the dashboard (in this case, $operation
is a Cloud Observability variable): https://github.com/acme/acme_code/search?q={{$operation}}
.
At the top of the dashboard, click the More ( ⋮ ) icon and select Manage workflow links.
To create a link using a template, click Link: template.
You can edit the name and URL as needed (see this section for descriptions and examples of each template).
To create a link from scratch, click Link: custom. Enter a name and a resolvable URL. Review the templates for example URLs.
Edit a link directly in the text box.
Use the trashcan icon to delete a template.
Click Save changes when finished.
Links appear at the top right of the dashboard.
The dependency map, alerts list, and service health panels don’t support links.
Expand or edit the panel from a dashboard.
Expand the Advanced options section and then expand Dashboard Workflow links.
To create a link using a template, click Link: template.
You can edit the name and URL as needed (see this section for descriptions and examples of each template).
To create a link from scratch, click Link: custom. Enter a name and a resolvable URL. Review the templates for example URLs.
Edit a link directly in the text box.
Use the trashcan icon to delete a template.
Save the chart to see the links.
Link icons appear for each line in the Aggregates table. The link name becomes the tooltip text.
Cloud Observability provides the following dashboard workflow link templates.
Tips:
{{brackets}}
are variables.
{{ $EXAMPLE_TEMPLATE_VARIABLE:queryparam }}
are template variables. Replace $EXAMPLE_TEMPLATE_VARIABLE
with the template
variable name you want to use.$
that don’t use the template variable syntax are Cloud Observability variables.Creates a new notebook with a chart showing the count of spans for the given service.
If you want to change the query, replace query=
value with a valid UQL query.
You can build a query in Builder mode of the Unified Query Builder and then switch to Editor mode to view and copy valid UQL.
1
2
Name: Notebook for {{ $service }}
URL: https://app.lightstep.com/PROJECT_NAME/notebooks?description=&query_title=&chart_type=line&query=spans count | delta | filter service == "{{ $service }}" | group_by [], sum
Example URL
1
https://app.lightstep.com/demo/notebooks?description=&query_title=&chart_type=line&query=spans count | delta | filter service == "{{ $service }}" | group_by [], sum
Example URL with a query for 99% latency for the service, grouped by customer
1
https://app.lightstep.com/demo/notebooks?description=&query_title=&chart_type=line&query=sspans latency | delta | filter ("service.name" == "{{ $service }}") | group_by ["customer"], sum | point percentile(value, 99.0)
Opens the Logs viewer and displays all logs for the given service. This template uses the last 60 minutes. You can change the query if needed. See Search logs for building log queries.
1
2
Name: Logs for {{ $service }}
URL: https://app.lightstep.com/PROJECT_NAME/logs?time_window=minutes_60&log_query=service.name == "{{ $service }}"`
Example URL
1
https://app.lightstep.com/demo/logs?time_window=minutes_60&log_query=service.name == "{{ $service }}"
Example URL with a 4 hour time window filtered to customer Acme
1
https://app.lightstep.com/demo/logs?time_window=hours_4&log_query=service.name == "{{ $service }}" && customer == "acme"
Opens the given dashboard and sets the given template variable on the target dashboard to the value set on this dashboard.
A dashboard’s ID can be found in its URL. For example, in this URL https://app.lightstep.com/demo/dashboard/ios-dashboard/Y7LQFJmG
the ID is Y7LQFJmG
.
1
2
Name: Dashboard: DASHBOARD_NAME
URL: https://app.lightstep.com/PROJECT_NAME/dashboard/DASHBOARD_NAME/DASHBOARD_ID?{{ $EXAMPLE_TEMPLATE_VARIABLE:queryparam }}
Example
1
2
Dashboard: Global Service
https://app.lightstep.com/demo/dashboard/global-service-dashboard/190gG8nL?{{ $kube_app_instance:queryparam }}
Opens Slack to the given channel.
1
2
Name: Contact: #MY_CHANNEL_NAME
URL: https://slack.com/app_redirect?channel=MY_CHANNEL_NAME
Example
1
2
Contact: #ios-team
https://slack.com/app_redirect?channel=ios-team
Navigates to the search results page in a given GitHub repository, using the operation as the search parameter.
The operation attribute must be used as a template variable or as a filter in the query.
1
2
Name: GitHub Search: {{$operation}}
URL: https://github.com/MY_GITHUB_ORG/MY_GITHUB_REPO/search?q={{$operation}}
Example URL
1
https://github.com/acme/acme_code/search?q={{$operation}}
Updated Aug 27, 2024