Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

updating docs replacing traces with Root Spans #11

Merged
merged 52 commits into from
Oct 14, 2024
Merged
Show file tree
Hide file tree
Changes from 20 commits
Commits
Show all changes
52 commits
Select commit Hold shift + click to select a range
bbc5362
Update performance-tracing.md
lomindioladiaz Sep 25, 2024
9962a35
Update tracing.md
lomindioladiaz Sep 27, 2024
64571d0
Update tracing.md
lomindioladiaz Sep 27, 2024
cb56a42
Update tracing.md
lomindioladiaz Sep 27, 2024
464f4e8
Update tracing.md
lomindioladiaz Sep 27, 2024
3fa1823
Update performance-tracing.md
lomindioladiaz Sep 27, 2024
134ee30
Update tracing.md
lomindioladiaz Sep 27, 2024
c47d30a
Update tracing.md
lomindioladiaz Sep 27, 2024
2890eb8
Update tracing.md
lomindioladiaz Sep 27, 2024
c966bf1
Update issue-monitoring-and-work-flow.md
lomindioladiaz Sep 27, 2024
dc00a7f
Add files via upload
lomindioladiaz Oct 7, 2024
1e20c5e
Delete static/images/trace-instance.png
lomindioladiaz Oct 7, 2024
319bf48
Delete static/images/trace-user-timeline.png
lomindioladiaz Oct 7, 2024
eaa0f57
Delete static/images/trace-summary.png
lomindioladiaz Oct 7, 2024
c842ddc
Delete static/images/trace-roots.png
lomindioladiaz Oct 7, 2024
a6f169d
Update performance-tracing.md
lomindioladiaz Oct 7, 2024
35c139e
Update issue-monitoring-and-work-flow.md
lomindioladiaz Oct 7, 2024
0fcb8dd
Merge branch 'main' into root-spans-updates
lomindioladiaz Oct 7, 2024
be8908d
Update tracing.md
lomindioladiaz Oct 7, 2024
3913aed
Update performance-tracing.md
lomindioladiaz Oct 7, 2024
b197ca6
Merge branch 'main' into root-spans-updates
gregorio-gerardi Oct 10, 2024
53e7303
refactor performance tracing to traces
gregorio-gerardi Oct 10, 2024
3b2f807
fix broken links
gregorio-gerardi Oct 10, 2024
87dd3db
Update traces.md
lomindioladiaz Oct 11, 2024
699626e
Update traces.md
lomindioladiaz Oct 11, 2024
3992943
Update traces.md
lomindioladiaz Oct 11, 2024
1ac0104
Update traces.md
lomindioladiaz Oct 11, 2024
4f86424
Update traces.md
lomindioladiaz Oct 11, 2024
27f1cba
Update traces.md
lomindioladiaz Oct 11, 2024
b295e48
Update traces.md
lomindioladiaz Oct 11, 2024
082bb9b
Update traces.md
lomindioladiaz Oct 11, 2024
873ff17
Update traces.md
lomindioladiaz Oct 11, 2024
3738d7c
Update traces.md
lomindioladiaz Oct 11, 2024
05d8157
Update traces.md
lomindioladiaz Oct 11, 2024
9021342
Update traces.md
lomindioladiaz Oct 11, 2024
0e33fc6
Add files via upload
lomindioladiaz Oct 11, 2024
8f8b3ed
Delete static/images/trace-slow-traces.png
lomindioladiaz Oct 11, 2024
742f085
Delete static/images/slow_trace_instances.png
lomindioladiaz Oct 11, 2024
ac11349
Delete static/images/slow_traces_issues_page.png
lomindioladiaz Oct 11, 2024
8af333a
Delete static/images/trace-alerts.png
lomindioladiaz Oct 11, 2024
fc9c73a
Delete static/images/trace-widgets.png
lomindioladiaz Oct 11, 2024
7f69d1b
Update traces.md
lomindioladiaz Oct 11, 2024
e142081
Update traces.md
lomindioladiaz Oct 11, 2024
cc57c8a
Add files via upload
lomindioladiaz Oct 11, 2024
3f6d75f
Update traces.md
lomindioladiaz Oct 11, 2024
d97143b
Add files via upload
lomindioladiaz Oct 11, 2024
79c0356
Update docs/react-native/features/traces.md
lomindioladiaz Oct 11, 2024
0b4bad3
Update docs/react-native/4x/features/traces.md
lomindioladiaz Oct 11, 2024
2fb8b63
Update traces.md
lomindioladiaz Oct 11, 2024
3b33e6e
Update traces.md
lomindioladiaz Oct 11, 2024
6da710a
Update traces.md
lomindioladiaz Oct 11, 2024
68ad992
Merge branch 'main' into root-spans-updates
lomindioladiaz Oct 12, 2024
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
24 changes: 12 additions & 12 deletions docs/android/features/tracing.md
Original file line number Diff line number Diff line change
@@ -1,14 +1,14 @@
---
title: Performance Tracing
description: Record traces to monitor the production performance and success rates of operations within your mobile app.
description: Record span to monitor the production performance and success rates of operations within your mobile app.
sidebar_position: 2
---

# Performance Tracing

## Overview

Embrace’s Performance Tracing solution gives you visibility into any app operation you’d like to track, including duration, success rate, and any contextual metadata collected at runtime that helps debug the root cause of your mobile app's performance issues. With our tool, you can quickly spot any bottlenecks in your app’s architecture, pinpoint areas you need to troubleshoot with high precision, and ultimately deliver a truly optimized user experience.
Embrace’s Traces solution gives you visibility into any app operation you’d like to track, including duration, success rate, and any contextual metadata collected at runtime that helps debug the root cause of your mobile app's performance issues. With our tool, you can quickly spot any bottlenecks in your app’s architecture, pinpoint areas you need to troubleshoot with high precision, and ultimately deliver a truly optimized user experience.

## Feature Support

Expand All @@ -29,7 +29,7 @@ The Embrace Performance Tracing API allows you to:

There are no limits on the duration of a span as long as the app is running.

There are also no limits to the number of child spans you can have per trace, provided the total number of spans do not exceed the per-session maximum.
There are also no limits to the number of child spans you can have per Root Span, provided the total number of spans does not exceed the per-session maximum.

### Limits

Expand Down Expand Up @@ -63,8 +63,8 @@ To use this feature:

1. Ensure you’re using a version of the Embrace SDK that supports Performance Tracing.
2. (Optional) Enable API desugaring for your app if you want users running Android 5.x and 6.x to report traces.
3. Instrument your app using the reference guide in this section to start adding traces to your operations, or refer to the [API docs](https://embrace-io.github.io/embrace-android-sdk/) for a more comprehensive description of the public API.
4. See the traces in the Traces section of the Embrace dashboard.
3. Instrument your app using the reference guide in this section to start adding spans to your operations, or refer to the [API docs](https://embrace-io.github.io/embrace-android-sdk/) for a more comprehensive description of the public API.
4. See the spans in the Traces section of the Embrace dashboard.

## API Usage Examples

Expand All @@ -79,7 +79,7 @@ import TabItem from '@theme/TabItem';
<TabItem value="kotlin" label="Kotlin">

```kotlin
// create a trace by creating its root span
// create a span by creating its root span
// recording will not begin until the span has been started
val activityLoad = Embrace.getInstance().createSpan("load-activity")
```
Expand All @@ -88,7 +88,7 @@ val activityLoad = Embrace.getInstance().createSpan("load-activity")
<TabItem value="java" label="Java">

```java
// create a trace by creating its root span
// create a span by creating its root span
// recording will not begin until the span has been started
EmbraceSpan activityLoad = Embrace.getInstance().createSpan("load-activity");
```
Expand Down Expand Up @@ -127,11 +127,11 @@ EmbraceSpan activityLoad = Embrace.getInstance().startSpan("load-activity");

```kotlin
val appStartTimeMillis = getAppStartTime()
val appLaunchTrace = Embrace.getInstance().createSpan("app-launch")
val appLaunchSpan = Embrace.getInstance().createSpan("app-launch")

// begin recording a trace that has a different start time than
// begin recording a span that has a different start time than
// the current time by starting its root span with a specific timestamp
appLaunchTrace?.start(startTimeMs = appStartTimeMillis)
appLaunchSpan?.start(startTimeMs = appStartTimeMillis)
```

</TabItem>
Expand All @@ -141,7 +141,7 @@ appLaunchTrace?.start(startTimeMs = appStartTimeMillis)
long appStartTimeMillis = getAppStartTime();
EmbraceSpan activityLoad = Embrace.getInstance().createSpan("load-activity");

// begin recording a trace that has a different start time than
// begin recording a span that has a different start time than
// the current time by starting its root span with a specific timestamp
if (activityLoad != null) {
activityLoad.start(appStartTimeMillis);
Expand Down Expand Up @@ -295,7 +295,7 @@ if (activityLoad != null) {
</TabItem>
</Tabs>

### Record a Trace Before the Embrace SDK Has Started
### Record a Span Before the Embrace SDK Has Started

<Tabs groupId="android-language" queryString="android-language">
<TabItem value="kotlin" label="Kotlin">
Expand Down
57 changes: 26 additions & 31 deletions docs/features/performance-tracing.md
Original file line number Diff line number Diff line change
Expand Up @@ -3,70 +3,65 @@ title: Performance Tracing
sidebar_position: 1
---

# Performance Tracing
# Traces

Embrace’s Performance Tracing solution gives you visibility into any app operation you’d like to track, including duration, success rate, and any contextual metadata collected at runtime that helps debug the root cause of your mobile app's performance issues. With our tool, you can quickly spot any bottlenecks in your app’s architecture, pinpoint areas you need to troubleshoot with high precision, and ultimately deliver a truly optimized user experience.
Embrace’s Traces solution gives you visibility into any app operation you’d like to track, including duration, success rate, and any contextual metadata collected at runtime that helps debug the root cause of your mobile app's performance issues. With our tool, you can quickly spot any bottlenecks in your app’s architecture, pinpoint areas you need to troubleshoot with high precision, and ultimately deliver a truly optimized user experience.

## Trace Roots View
The primary page shows all trace roots in your app, as well as summary metrics like count, error rate, percentiles of duration, and change from previous version.
## Root Spans View
The primary page shows all root spans in your app, as well as summary metrics like count, error rate, percentiles of duration, and changes from a previous version.

<img src={require('@site/static/images/trace-roots.png').default} alt="Trace roots"/>
<img src={require('@site/static/images/traces-page.png').default} alt="Traces"/>

To narrow down the instances that are summarized in this view, you can apply the following filters on the root span as well as the child spans:
To narrow down the spans that are summarized in this view, you can apply the following filters on the root span as well as the child spans:
* Name
* Duration
* Outcome
* Attributes keys and values
* Span event names

## Trace Summary View
By clicking on the name of a Trace Root in the Trace Roots view, you can see a partial listing of all the instances of that trace.
## Root Span Summary View
By clicking on the name of a Root Span in the Root Spans View, you can see a partial listing of all the instances of that Root Span.

Each row represents a specific instance of that trace being recorded. You can see its status, unique Span ID, duration, in addition to start and end times. All of these columns other than the Span ID is sortable.
Each row represents a specific instance of that Root Span being recorded. You can see its status, unique Span ID, and duration, in addition to start and end times. All of these columns other than the Span ID is sortable.

Clicking on the instance will open up an in-line preview of the details of that instance, including the child spans that it has, their duration, and whether they completed successfully.
Clicking on the instance will open up an in-line preview of the details of that instance, including the child spans that it has, their duration, and whether they were completed successfully.

On the right side each row that shows a trace instance, there are two icons. The first one takes you to the Trace Instance View, where you can see all the details about that instance, including attributes and events on each child span. The second one takes you to the specific session in the User Timeline view that this instance ended in so you can see the full context of what happened before and after this trace was recorded.
On the right side each row that shows a Root Span instance, there are two icons. The first one takes you to the Root Span Instance View, where you can see all the details about that instance, including attributes and events on each child span. The second one takes you to the specific session in the User Timeline view that this instance ended in so you can see the full context of what happened before and after this Root Span was recorded.

<img src={require('@site/static/images/trace-summary.png').default} alt="Trace summary"/>
<img src={require('@site/static/images/root-span-summary.png').default} alt="Root Span summary"/>

You can filter by the same properties as in the Trace Roots View. In fact, the filters that you had set on the Trace Roots View will apply if you navigate here from there directly.
You can filter by properties similar to those in the Root Span View.

<img src={require('@site/static/images/trace-summary-filters.png').default} alt="Trace summary filters"/>

## Trace Instance View
This view show a trace in its entirety. Not only can you see all the information in trace instance preview, you can also see at the individual events and attributes recorded as part of on a each child span, along with metadata about the device and app.
## Root Span Instance View
This view shows a Root Span in its entirety. Not only can you see all the information in trace instance preview, you can also see at the individual events and attributes recorded as part of on a each child span, along with metadata about the device and app.

<img src={require('@site/static/images/trace-instance.png').default} alt="Trace instance"/>
<img src={require('@site/static/images/root-span-instance-1.png').default} alt="Trace instance"/>

## User Timeline view
Traces appear in both the Timeline View and Timeline Details.
Root Spans appear in both the Timeline View and Timeline Details.

Clicking on "See Details" for any trace within the timeline will take you directly the the Trace Instance View.
Clicking on "See Details" for any Root Span within the timeline will take you directly to the Root Span Instance View.

<img src={require('@site/static/images/trace-user-timeline.png').default} alt="User timeline"/>
<img src={require('@site/static/images/traces-timeline.png').default} alt="User timeline"/>

## Sessions Filters
Not only can you filter traces in the various pages dedicated to Performance Tracing, you can filter sessions in the Sessions View by whether or not they contain specific spans with certain attributes and events.
Not only can you filter spans in the various pages dedicated to Performance Tracing, you can filter sessions in the Sessions View by whether or not they contain specific spans with certain attributes and events.

<img src={require('@site/static/images/trace-session-filters.png').default} alt="Session filters"/>

## Boards, Alerts, and Custom Metrics
You can create Boards, Alerts, and Custom Metrics based on trace data.
You can create Boards, Alerts, and Custom Metrics based on span data.

<img src={require('@site/static/images/trace-widgets.png').default} alt="Trace widgets"/>
<img src={require('@site/static/images/trace-alerts.png').default} alt="Trace alerts"/>

## Slow Traces
With the Slow Traces feature, you can identify performance bottlenecks and prioritize your optimization efforts.
Slow Traces are trace instances with both significant occurrences (100 over the last two days) and durations surpassing the 95th percentile of successful traces bearing the same name.
You can get the slow traces on the issues page.
## Slow Root Spans
With the Slow Root Spans feature, you can identify performance bottlenecks and prioritize your optimization efforts.
Slow Root Spans are instances with both significant occurrences (100 over the last two days) and durations surpassing the 95th percentile of successful spans bearing the same name.
You can get the slow Root Spans on the issues page.

<img src={require('@site/static/images/trace-slow-traces.png').default} alt="Slow traces"/>

Once you click on a slow trace, you can see specific instances of that trace.

:::info
You can also see those instances if you add the filter `type = slow` to see the on the performance traces tab.
:::

Once you click on a Slow Root Span, you can see specific instances of that span.
4 changes: 2 additions & 2 deletions docs/flutter/features/tracing.md
Original file line number Diff line number Diff line change
@@ -1,14 +1,14 @@
---
title: Performance Tracing
description: Record traces to monitor the production performance and success rates of operations within your mobile app.
description: Record spans to monitor the production performance and success rates of operations within your mobile app.
sidebar_position: 2
---

# Performance Tracing

## Overview

Embrace’s Performance Tracing solution gives you visibility into any app operation you’d like to track, including duration, success rate, and any contextual metadata collected at runtime that helps debug the root cause of your mobile app's performance issues. With our tool, you can quickly spot any bottlenecks in your app’s architecture, pinpoint areas you need to troubleshoot with high precision, and ultimately deliver a truly optimized user experience.
Embrace’s Traces solution gives you visibility into any app operation you’d like to track, including duration, success rate, and any contextual metadata collected at runtime that helps debug the root cause of your mobile app's performance issues. With our tool, you can quickly spot any bottlenecks in your app’s architecture, pinpoint areas you need to troubleshoot with high precision, and ultimately deliver a truly optimized user experience.

## API Usage Examples

Expand Down
20 changes: 10 additions & 10 deletions docs/ios/5x/features/tracing.md
Original file line number Diff line number Diff line change
@@ -1,14 +1,14 @@
---
title: Performance Tracing
description: Record traces to monitor the production performance and success rates of operations within in your application.
description: Record spans to monitor the production performance and success rates of operations within in your application.
sidebar_position: 10
---

# Performance Tracing

## Overview

Embrace’s Performance Tracing solution gives you complete visibility into any customized operation you’d like to track, enabling you to identify, prioritize, and resolve any performance issue. With our tool, you can quickly spot any bottlenecks in your app’s architecture, pinpoint areas you need to troubleshoot with high precision, and ultimately deliver a truly optimized user
Embrace’s Traces solution gives you complete visibility into any customized operation you’d like to track, enabling you to identify, prioritize, and resolve any performance issue. With our tool, you can quickly spot any bottlenecks in your app’s architecture, pinpoint areas you need to troubleshoot with high precision, and ultimately deliver a truly optimized user

## Feature Support

Expand All @@ -28,8 +28,8 @@ There is no limit on the duration of spans, but **if a crash occurs during a spa

| Type | Limit |
| --- | --- |
| Max number of traces per session | 100 |
| Max number of spans per trace | 10 |
| Max number of span per session | 100 |
| Max number of spans per Root Span | 10 |
| Max number of attributes per span | 50 |
| Max number of events per span | 10 |
| Max number of attributes per event | 10 |
Expand Down Expand Up @@ -60,8 +60,8 @@ The `emb-` and `emb.` prefixes are reserved for internal Embrace span names and
To use this feature:

1. Ensure you’re using a version of the Embrace SDK that supports Performance Tracing.
1. Instrument your app using the reference guide in this sections to start adding traces to your operations.
1. See the traces in the Traces section of the Embrace dashboard.
1. Instrument your app using the reference guide in this sections to start adding spans to your operations.
1. See the spans in the Traces section of the Embrace dashboard.

### Create Span

Expand All @@ -74,15 +74,15 @@ import TabItem from '@theme/TabItem';
<TabItem value="swift" label="Swift">

```swift
// Create a trace by creating its root span
// Create a span by creating its root span
let span = Embrace.sharedInstance().createSpanNamed("process-image")
```

</TabItem>
<TabItem value="objc" label="Objective-C">

```objc
// Create a trace by creating its root span
// Create a span by creating its root span
id<EmbraceOTelSpan> span = [[Embrace sharedInstance] createSpanNamed:@"process-image" parent:nil];
```

Expand Down Expand Up @@ -120,7 +120,7 @@ id<EmbraceOTelSpan> span = [[Embrace sharedInstance] createSpanNamed:@"custom-na
<TabItem value="swift" label="Swift">

```swift
// Create a trace root span with a custom name
// Create a span root span with a custom name
let span = Embrace.sharedInstance().createSpanNamed("process-batch")

// Create a child span by including the parent parameter
Expand All @@ -131,7 +131,7 @@ let childSpan = Embrace.sharedInstance().createSpanNamed("process-item", parent:
<TabItem value="objc" label="Objective-C">

```objc
// Create a trace root span with a custom name
// Create a span root span with a custom name
id<EmbraceOTelSpan> span = [[Embrace sharedInstance] createSpanNamed:@"process-batch" parent:nil];

// Create a child span by including the parent parameter
Expand Down
14 changes: 7 additions & 7 deletions docs/ios/open-source/tracing.md
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
---
title: Performance Tracing
description: Record traces to monitor the production performance and success rates of operations.
description: Record spans to monitor the production performance and success rates of operations.
sidebar_position: 8
---

Expand Down Expand Up @@ -28,8 +28,8 @@ There is no limit on the duration of spans, but **if a crash occurs during a spa

| Type | Limit |
| --- | --- |
| Max number of traces per session | 100 |
| Max number of spans per trace | 10 |
| Max number of spans per session | 100 |
| Max number of spans per Root Span | 10 |
| Max number of attributes per span | 50 |
| Max number of events per span | 10 |
| Max number of attributes per event | 10 |
Expand All @@ -56,8 +56,8 @@ The `emb-` and `emb.` prefixes are reserved for internal Embrace span names and
To use this feature:

1. Ensure you’re using a version of the Embrace SDK that supports Performance Tracing.
2. Instrument your app using the reference guide in this sections to start adding traces to your operations.
3. See the traces in the Traces section of the Embrace dashboard.
2. Instrument your app using the reference guide in this sections to start adding spans to your operations.
3. See the spans in the Traces section of the Embrace dashboard.

### Create SpanBuilder

Expand All @@ -66,7 +66,7 @@ To trace an in-progress operation, use the `Embrace.client` instance to create a
Note: Until the span is started, the `.buildSpan` method below and any decorators return a `SpanBuilder` object.

```swift
// Create a trace by building its root span
// Create a span by building its root span
let spanBuilder = Embrace
.client?
.buildSpan(
Expand Down Expand Up @@ -118,7 +118,7 @@ Note that in the spans above the decorator `.markAsKeySpan` was used. This **MUS
A span can be indicated as the child of another span by setting its parent. This must be set on the `SpanBuilder` object, so you should set the parent before starting your span.

```swift
// Create a trace root span with a custom name
// Create a span root span with a custom name
let parentSpan = Embrace
.client?
.buildSpan(name: "process-batch")
Expand Down
Loading