Use dashboard workflow links

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.

Using variables

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:

  • If you’re linking to an external site or to a place in Cloud Observability that doesn’t support template variables, use an attribute value.
  • If you’re linking to a dashboard in Cloud Observability and you want to preserve the selected template variable values, use a template variable.

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.

Name

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).

URL

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.

Template descriptions

Cloud Observability provides the following dashboard workflow link templates.

Tips:

  • Replace values in ALL CAPS with your own text.
  • Values in {{brackets}} are variables.
    • Lowercase values are attributes and should be left as is.
    • Values shown as {{ $EXAMPLE_TEMPLATE_VARIABLE:queryparam }} are template variables. Replace $EXAMPLE_TEMPLATE_VARIABLE with the template variable name you want to use.
    • Values shown with a $ that don’t use the template variable syntax are Cloud Observability variables.

Notebook

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)

Logs

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"

Dashboard

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 }}

Slack channel

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

GitHub repo search for operation

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}}

See also

Create and manage dashboards

Create and manage panels

Use template variables

Updated Aug 27, 2024