Tracing in Explore

From FojiSoft Docs

Trace View

This section explains the elements of the Trace View dashboard.

Header

  • Header title: Shows the name of the root span and trace ID.
  • Search: Highlights spans containing the searched text.
  • Metadata: Various metadata about the trace.

Minimap

Shows condensed view or the trace timeline. Drag your mouse over the minimap to zoom into smaller time range. Zooming will also update the main timeline, so it is easy to see shorter spans. Hovering over the minimap, when zoomed, will show Reset Selection button which resets the zoom.

Timeline

Shows list of spans within the trace. Each span row consists of these components:

  • Expand children button: Expands or collapses all the children spans of selected span.
  • Service name: Name of the service logged the span.
  • Operation name: Name of the operation that this span represents.
  • Span duration bar: Visual representation of the operation duration within the trace.

Clicking anywhere on the span row shows span details.

Span details

  • Operation name
  • Span metadata
  • Tags: Any tags associated with this span.
  • Process metadata: Metadata about the process that logged this span.
  • Logs: List of logs logged by this span and associated key values.

Node graph

You can optionally expand the node graph for the displayed trace. This can show spans of the trace as nodes in the graph, or as some additional context like service graph based on the current trace.

Trace to logs

You can navigate from a span in a trace view directly to logs relevant for that span.

Click the document icon to open a split view in Explore with the configured data source and query relevant logs for the span.

APM dashboard

Application performance management (APM) uses data gathered from services, agents, systems, and microservices to visualize and identify areas of concern.

The FojiSoft APM dashboard visualizes the span metrics (traces data for rates, error rates, and durations (RED)) and service graphs. Once the requirements are set up, this pre-configured dashboard is immediately available.

Data API

This visualization needs a specific shape of the data to be returned from the datasource in order to correctly display it.

Data source needs to return data frame and set frame.meta.preferredVisualisationType= 'trace'.

Data frame structure

Required fields

Field name          Type                                   Description

  1. traceID               string                            Identifier for the entire trace. There should be only one trace in the data frame.
  2. traceID               string                            Identifier for the entire trace. There should be only one trace in the data frame.
  3. spanID                string                            Identifier for the current span. SpanIDs should be unique per trace.
  4. parentSpanID    string                            SpanID of the parent span to create child  parent relationship in the trace view. Can be undefined for root span without a parent.
  5. serviceName     string                            Name of the service this span is part of.
  6. serviceTags       TraceKeyValuePair[]    List of tags relevant for the service.
  7. startTime           number                         Start time of the span in millisecond epoch  time.
  8. duration             number                         Duration of the span in milliseconds.

Optional fields

Field name         Type                                   Description

  1. logs                     TraceLog[]                   List of logs associated with the current  span.
  2. tags                     TraceKeyValuePair[]   List of tags associated with the current  span.
  3. warnings             string[]                         List of warnings associated with the  current span.
  4. stackTraces        string[]                         List of stack traces associated with the  current span.
  5. errorIconColor    string                           Color of the error icon in case span is  tagged with error:  true.