Aggregating metrics for workflows associated with a real user session
A method of aggregating metrics associated with a user interaction during a real user session comprises identifying a span comprising a tag associated with a workflow from ingested spans associated with the real user session, where the workflow comprises spans generated in response to the user interaction. The method also comprises identifying other spans associated with the workflow from the ingested spans. The method further comprises grouping the other spans associated with the workflow with the tagged span and aggregating metrics for the workflow over a duration of time.
1. A method of aggregating metrics associated with a user interaction during a real user session, the method comprising:
identifying a tagged span from a plurality of ingested spans associated with the real user session, wherein the tagged span is associated with a workflow, wherein further the workflow comprises spans generated in response to the user interaction, and wherein the tagged span comprises a tag associated with the workflow;
identifying at least one associated span from the plurality of ingested spans, wherein the at least one associated span is associated with the workflow;
consolidating the at least one associated span with the tagged span into a group of spans associated with the workflow; and
computing metrics for the workflow over a duration of time using the group of spans.
2. The method of claim 1 , wherein the computing comprises aggregating metrics extracted from the tagged span in the group of spans over the duration of time.
3. The method of claim 1 , wherein the computing comprises aggregating metrics extracted from the tagged span and the at least one associated span in the group of spans over the duration of time.
4. The method of claim 1 , further comprising:
displaying the at least one associated span and the tagged span as grouped together in a graphical user interface.
5. The method of claim 1 , wherein the tagged span is selectively instrumented responsive to client input to include the tag associated with the workflow.
6. The method of claim 1 , wherein the identifying the at least one associated span from the plurality of ingested spans comprises:
filtering out spans from the plurality of ingested spans that are unassociated with the workflow;
ordering remaining spans from the plurality of ingested spans in accordance with respective start times of the remaining spans;
from the remaining spans: a) designating a span as an associated span if it has a start time occurring between a start time and an end time of the tagged span; and b) designating a span as an associated span if it has a start time occurring after the end time of the tagged span responsive to a determination that a start time of the span occurs following the end time of the tagged span but prior to a predetermined duration of span inactivity.
7. The method of claim 1 , wherein the identifying the at least one associated span from the plurality of ingested spans comprises:
filtering out spans from the plurality of ingested spans that are unassociated with the workflow by filtering out spans comprising a different session identifier than the tagged span;
ordering remaining spans from the plurality of ingested spans in accordance with respective start times of the remaining spans;
from the remaining spans: a) designating a span as an associated span if it has a start time occurring between a start time and an end time of the tagged span; and b) designating a span as an associated span if it has a start time occurring after the end time of the tagged span responsive to a determination that a start time of the span occurs following the end time of the tagged span but prior to a predetermined duration of span inactivity.
8. The method of claim 1 , wherein the identifying the at least one associated span from the plurality of ingested spans comprises:
filtering out spans from the plurality of ingested spans that are unassociated with the workflow by filtering out spans comprising a different session identifier and a different instance identifier than the tagged span;
ordering remaining spans from the plurality of ingested spans in accordance with respective start times of the remaining spans;
from the remaining spans: a) designating a span as an associated span if it has a start time occurring between a start time and an end time of the tagged span; and b) designating a span as an associated span if it has a start time occurring after the end time of the tagged span responsive to a determination that a start time of the span occurs following the end time of the tagged span but prior to a predetermined duration of span inactivity.
9. The method of claim 1 , wherein the identifying the at least one associated span from the plurality of ingested spans comprises:
filtering out spans from the plurality of ingested spans that are unassociated with the workflow;
ordering remaining spans from the plurality of ingested spans in accordance with respective start times of the remaining spans;
from the remaining spans: a) designating a span as an associated span if it has a start time occurring between a start time and an end time of the tagged span; and b) designating a span as an associated span if it has a start time occurring after the end time of the tagged span responsive to a determination that a start time of the span occurs following the end time of the tagged span but prior to a predetermined duration of span inactivity, wherein the predetermined duration is configurable by a client.
10. The method of claim 1 , further comprising:
scoping the metrics across other attributes associated with the plurality of ingested spans.
11. The method of claim 1 , wherein the metrics comprise a workflow count value, an error count and latency values associated with the workflow.
12. The method of claim 1 , further comprising:
displaying the metrics in a graphical user interface.
13. The method of claim 1 , further comprising:
displaying the at least one associated span and the tagged span in a graphical user interface; and
displaying links to a backend trace associated with the at least one associated span or the tagged span in the graphical user interface.
14. The method of claim 1 , further comprising:
displaying the at least one associated span and the tagged span in a graphical user interface; and
displaying a backend trace associated with the at least one associated span or the tagged span in the graphical user interface.
15. The method of claim 1 , wherein the identifying the at least one associated span from the plurality of ingested spans comprises:
filtering out spans from the plurality of ingested spans that are unassociated with the workflow;
from remaining spans of the plurality of spans, identifying the at least one associated span by comparing tags of the remaining spans with the tagged span.
16. A non-transitory computer-readable medium having computer-readable program code embodied therein for causing a computer system to perform a method of aggregating metrics associated with a user interaction during a real user session, the method comprising:
identifying a tagged span from a plurality of ingested spans associated with the real user session, wherein the tagged span is associated with a workflow, wherein further the workflow comprises spans generated in response to the user interaction, and wherein the tagged span comprises a tag associated with the workflow;
identifying at least one associated span from the plurality of ingested spans, wherein the at least one associated span is associated with the workflow;
consolidating the at least one associated span with the tagged span into a group of spans associated with the workflow; and
computing metrics for the workflow over a duration of time using the group of spans.
17. The non-transitory computer-readable medium of claim 16 , wherein the computing comprises aggregating metrics extracted from the tagged span in the group of spans over the duration of time.
18. The non-transitory computer-readable medium of claim 16 , wherein the computing comprises aggregating metrics extracted from the tagged span and the at least one associated span in the group of spans over the duration of time.
19. The non-transitory computer-readable medium of claim 16 , wherein the identifying the at least one associated span from the plurality of ingested spans comprises:
filtering out spans from the plurality of ingested spans that are unassociated with the workflow;
ordering remaining spans from the plurality of ingested spans in accordance with respective start times of the remaining spans;
from the remaining spans: a) designating a span as an associated span if it has a start time occurring between a start time and an end time of the tagged span; and b) designating a span as an associated span if it has a start time occurring after the end time of the tagged span responsive to a determination that a start time of the span occurs following the end time of the tagged span but prior to a predetermined duration of span inactivity.
20. A system for performing a method of aggregating metrics associated with a user interaction during a real user session, the system comprising:
a processing device communicatively coupled with a memory and configured to:
identify a tagged span from a plurality of ingested spans associated with the real user session, wherein the tagged span is associated with a workflow, wherein further the workflow comprises spans generated in response to the user interaction, and wherein the tagged span comprises a tag associated with the workflow;
identify at least one associated span from the plurality of ingested spans, wherein the at least one associated span is associated with the workflow;
consolidate the at least one associated span with the tagged span into a group of spans associated with the workflow; and
compute metrics for the workflow over a duration of time using the group of spans.