opensearch-project / dashboards-observability

Visualize and explore your logs, traces and metrics data in OpenSearch Dashboards
https://opensearch.org/docs/latest/observability-plugin/index/
Apache License 2.0
17 stars 56 forks source link

[FEATURE]View Traces / Spans on a timeline graph #553

Open YANG-DB opened 1 year ago

YANG-DB commented 1 year ago

Is your feature request related to a problem? I would like to view the traces/spans in a timeline graph based projection to be able to observe trends and spikes

What solution would you like? As part of the diagnostic and investigation process I would like to view the traces / spans overlaid on a timeline to simplify the Observability and spikes appearance

Screenshot 2023-06-19 at 2 01 04 PM

Selection of graph span (categorical) dimension : operation-name / service-name

Filter the traces using a dimension

Allow to filter the span graphs using a dimension filter

Screenshot 2023-06-19 at 2 47 57 PM

Time-Slot structure

Each slot has a stacked list of spans collections that is organized according to its average duration and their belonging to any of the next percentiles : 50th (median), 75th, 90th, 95th, 99th, and 99.9th.

Each stacked span group height corresponds to the amount of spans in that group (relatively to the whole time-slot)

Screenshot 2023-06-19 at 2 25 54 PM

Fly-Over & Selection

A user can hover on each bar and see the fly-out of the next details

Screenshot 2023-06-19 at 3 51 09 PM

What alternatives have you considered? None

Do you have any additional context?

joshuali925 commented 1 year ago

This can be useful, a few clarifying questions

The Y-Axis is the duration in milliseconds

Time-Slot structure Within each slot has a stacked list of spans collections that is organized according to its average duration. Each stacked span group height corresponds to the amount of spans in that group (relatively to the whole time-slot)

Open Traces dialog

YANG-DB commented 1 year ago

The Y-Axis is the duration of parent span (sum duration of child pans)

Q:Assuming this is the sum of durations of spans, if there is one span that keeps timing out, would it affect the graph?

A: Parent spans which have timeout child spans are not included in the calculation

Q:What is a span collection?

Span collection is the list of span (parent spans) that are grouped to calculate the average latency Amount is the number of spans within the average range (similar to percentiles )

Q: Open Traces dialog

A: The traces table :