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

opentelemetry: add preliminary benchmarks #1303

Merged
merged 1 commit into from
Mar 15, 2021

Conversation

jtescher
Copy link
Collaborator

Motivation

Understand the overhead added by recording OpenTelemetry data so that it can be minimized.

Solution

Add criterion benchmarks, initially tracking request/response style workloads (1 main span with 99 children).

This patch adds benchmarks for standard tracing-opentelemetry usage, as well as baselines for understanding the overhead specific to the usage of the otel tracer, and registry span access patterns.

## Motivation

Understand the overhead added by recording OpenTelemetry data so that it
can be minimized.

## Solution

Add criterion benchmarks, initially tracking request/response style
workloads (1 main span with 99 children).

This patch adds benchmarks for standard `tracing-opentelemetry` usage,
as well as baselines for understanding the overhead specific to the
usage of the otel tracer, and registry span access patterns.
@jtescher jtescher added the crate/opentelemetry Related to the `tracing-opentelemetry` crate. label Mar 13, 2021
@jtescher jtescher requested a review from a team as a code owner March 13, 2021 23:48
@davidbarsky davidbarsky merged commit adc877d into master Mar 15, 2021
@davidbarsky davidbarsky deleted the jtescher/otel-bench-baselines branch March 15, 2021 21:13
@Folyd
Copy link
Contributor

Folyd commented Mar 22, 2021

I just ran the benchmark on my Mac. Seems like tracing with opentelemetry is about 3~4x slower than the bare tracing. Can we take some elaboration on this? How can we improve this?

Lark20210322-172852

@jtescher
Copy link
Collaborator Author

@Folyd the otel overhead is mostly in sampling, constructing otel spans from tracing spans, and reporting otel spans to exporters. Each of those can be optimized, feel free to open issues on https://github.com/open-telemetry/opentelemetry-rust if you find perf problems.

hawkw pushed a commit that referenced this pull request Apr 15, 2021
## Motivation

Understand the overhead added by recording OpenTelemetry data so that it
can be minimized.

## Solution

Add criterion benchmarks, initially tracking request/response style
workloads (1 main span with 99 children).

This patch adds benchmarks for standard `tracing-opentelemetry` usage,
as well as baselines for understanding the overhead specific to the
usage of the otel tracer, and registry span access patterns.
hawkw pushed a commit that referenced this pull request Apr 15, 2021
## Motivation

Understand the overhead added by recording OpenTelemetry data so that it
can be minimized.

## Solution

Add criterion benchmarks, initially tracking request/response style
workloads (1 main span with 99 children).

This patch adds benchmarks for standard `tracing-opentelemetry` usage,
as well as baselines for understanding the overhead specific to the
usage of the otel tracer, and registry span access patterns.
@hawkw hawkw mentioned this pull request Apr 16, 2021
hawkw pushed a commit that referenced this pull request Apr 17, 2021
## Motivation

Understand the overhead added by recording OpenTelemetry data so that it
can be minimized.

## Solution

Add criterion benchmarks, initially tracking request/response style
workloads (1 main span with 99 children).

This patch adds benchmarks for standard `tracing-opentelemetry` usage,
as well as baselines for understanding the overhead specific to the
usage of the otel tracer, and registry span access patterns.
kaffarell pushed a commit to kaffarell/tracing that referenced this pull request May 22, 2024
## Motivation

Understand the overhead added by recording OpenTelemetry data so that it
can be minimized.

## Solution

Add criterion benchmarks, initially tracking request/response style
workloads (1 main span with 99 children).

This patch adds benchmarks for standard `tracing-opentelemetry` usage,
as well as baselines for understanding the overhead specific to the
usage of the otel tracer, and registry span access patterns.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
crate/opentelemetry Related to the `tracing-opentelemetry` crate.
Projects
None yet
Development

Successfully merging this pull request may close these issues.

3 participants