Commit Graph

31 Commits

Author SHA1 Message Date
Anton Grübel 1b1ba899cf
use workspace lint configuration (#2674) 2025-02-17 18:18:13 -08:00
Lalit Kumar Bhasin b83311845d
Rename `logs_level_enabled` flag to `spec_unstable_logs_enabled` (#2291) 2024-11-11 12:39:20 -08:00
Charles Samborski e206533785
fix: JSON serialization of `metrics::Examplar` and `trace::span::Link… (#2069) 2024-09-10 18:13:03 -07:00
Zhongyang Wu 21bc36c958
chore: add prometheus back with API and SDK pinned at 0.23 (#1795) 2024-05-20 23:23:46 -07:00
Cijo Thomas 66b00d6e32
[Metric SDK] - Avoid exposing AttributeSet to exporters - Part1 (#1792) 2024-05-20 21:06:28 -04:00
Cijo Thomas 2210d7b5de
Remove opentelemetry-jaeger (#1782) 2024-05-18 11:20:41 -07:00
Zhongyang Wu 64225243c0
fix: disable workspace default feature (#1562)
Co-authored-by: Harold Dost <github@hdost.com>
Co-authored-by: Ed Morley <501702+edmorley@users.noreply.github.com>
Co-authored-by: Cijo Thomas <cijo.thomas@gmail.com>
2024-02-24 16:27:57 -08:00
Dirkjan Ochtman 93f206a1eb
Remove support for surf HTTP client (#1537) 2024-02-16 12:29:18 -05:00
Dirkjan Ochtman cad63b69dd
Remove the option of using grpcio for gRPC (#1534) 2024-02-15 17:41:00 -05:00
Matthew Boddewyn 0101233973
Create new opentelemetry-jaeger-propagator library (#1487) 2024-01-26 11:54:16 -05:00
Ho Kim 10456d4684
Add schemars support for opentelemetry-proto (#1419) 2023-12-01 12:49:12 -05:00
Harold Dost ed97a1bd9e
Remove opentelemetry-dynatrace source. (#1321)
We will no longer build/support it as Dynatrace is migrating towards
OTLP ingestion.

Relates #1099
2023-10-26 22:11:57 -07:00
Shaun Cox 759556d590
Change opentelemetry crate to contain only the API, not the SDK #1186 (#1199) 2023-08-23 21:01:28 -07:00
Julian Tescher 41e8d63652
Add `grpcio` metrics exporter (#1202)
Co-authored-by: Zhongyang Wu <zhongyang.wu@outlook.com>
2023-08-14 18:18:47 -07:00
Julian Tescher e12247e9ca
Rename `traces` feature to the more standard `trace` (#1183) 2023-08-03 09:50:58 -07:00
Zhongyang Wu d571b24ad1
feat(proto): remove build script and generate files using unit tests. (#881) 2022-09-30 12:07:51 -07:00
Tomek Karwowski 399404d9b3
feat: implementation of collector http client with pure hyper (#853) 2022-08-08 08:04:52 -07:00
Zhongyang Wu 07047936b4
feat(jaeger): better configuration pipeline. (#748)
* feat(jaeger): better configuration pipeline.

- Separate agent pipeline and collector pipeline. it's now `new_agent_pipeline` and `new_collector_pipeline`
- Add `Configurable` trait to include common attributes shared by agent pipeline and collector pipeline.
- Removed `with_tag` method.
- Make build in http client additive. `surf_collector_client`, `isahc_collector_client`, etc. are now just allow user to choose the http client.

* fix(jaeger): Move CommonConfig and HasRequiredConfig to private mod to meet MSRV requirement. Rename CommonConfig to TransformationConfig.

* chore: make format happy.

* chore: make msrv happy.

* test: add unit tests.

* refactor(jaeger): removed the `Configurable` trait

* fix(jaeger): fix code link
2022-03-13 14:36:35 -04:00
Zhongyang Wu aee4249484
docs(proto): add documentation, guard generated types using features (#732)
* docs(proto): add documentation, guard generated types using features

* docs(proto): add doc_auto_cfg.
2022-02-13 15:06:57 -05:00
Zhongyang Wu 77c0f039f3
[proto] add opentelemetry-proto crates (#710)
* proto: add opentelemetry-proto crate.

Separate generated proto definitions and it's transformation with types in opentelemety into a new crate.

* proto: fix tests.

* proto: add features in proto

* proto: merge upstream

* refactor(otlp,proto): Clean up features and imports

- add the `grpc-tonic` feature
- add the `build-server` feature
- reordered imports in otlp

BREAKING CHANGE: add the `grpc-tonic` feature

* refactor(otlp,proto): remove prost generated files

We can just use tonic generated types without clients.

* refactor(otlp,proto): update submodule

* refactor(otlp): guard trace related code using trace feature

* docs(proto): add proto docs

* feature(proto): update proto version

Update proto version to 0.9. See https://github.com/open-telemetry/opentelemetry-proto/tree/v0.9.0

* refactor(all): merge upstream

* style(all): add one line at the end of files

* fix(examples): fix external-otlp-grpcio-async-std example

Use the new `trace` feature
2022-01-28 17:14:58 -08:00
Filip Kieres 02ddf1b9ea
Add opentelemetry-dynatrace crate (#679)
* chore: update the NoHttpClient error message

Adds a hint to the error message to make it better understandable to users how to resolve the error

* chore: Use fully qualified stream import (metrics)

* Add opentelemetry-dynatrace crate
2022-01-07 12:06:20 -05:00
Julian Tescher dc7d81fdfa
Update trace flags to match spec (#565)
Remove all trace flags except `sampled` as that is the only supported
flag in the current trace spec. Removes `SpanContext::is_deferred` and
`SpanContex::is_debug` as they are also no longer supported.
2021-06-07 11:25:10 -07:00
Julian Tescher b84f993ace
Remove default surf features (#546)
Remove default surf features, allowing users to select which features
they want to use.
2021-05-09 14:16:53 -07:00
Dan Rusei 7e88009bc4
adding otlp http transport, using proto binary (#516) 2021-04-20 11:54:20 -07:00
Jan Kühle cb419bb9f1
Configure async runtime in Rust code instead of cargo feature (#481)
Configure the async runtime (Tokio, async-std, ...) in Rust using
`with_runtime(runtime)` on the trace pipeline builders instead of using
cargo features.

The main advantages of using Rust code is that cargo doesn't have a way
of describing mutually exclusive features at the moment. We currently
fall back to Tokio if multiple runtime features are enabled. This can be
confusing, especially if a runtime feature is enabled by another crate.

Choosing the runtime in Rust code means the entire trace pipeline
configuration is in one place.
2021-03-20 21:23:12 -07:00
Zhongyang Wu e9ef3e23d6
feat: clean up lint.sh, use API to set grpc layer (#467)
`tonic` and `grpcio` take different approaches in serializing and sending spans. This change use an enum to represent the two grpc layers. If users want to bring their own grpc layer, they can implement `TracerExporter` and `SpanExporter` and then install it.
2021-03-15 10:02:14 -07:00
Zhongyang Wu c697b58008
Remove tracer provider guard. (#444)
This adds a suite of tests to ensure the global tracer provider shuts down properly using different runtimes. For optimal performance it is often preferable to spawn shutdown tasks using `tokio::spawn` instead of `tokio::spawn_blocking`, but in order to have a consistent API between blocking and non-blocking programs, then shutdown code will block on some tasks. This can cause deadlocks with single-threaded runtimes, the current solution is to spawn the background task in a separate thread if single threaded runtime features are present.
2021-02-27 11:23:33 -08:00
Zhongyang Wu 8353ee2525
Switch Jaeger collectors to use http client trait. (#378) 2020-12-10 19:27:23 -08:00
Filip ea61575aa6
Add tonic for opentelemetry-otlp (#352)
Add support for the [tonic](https://github.com/hyperium/tonic) implementation of the gRPC transport layer to `opentelemetry-otlp`.

- Use tonic as the underlying gRPC transport layer (default)
- Optional: TLS support using rustls
- Optional: Use the platform's native certificate store
- Optional: Use an async client
2020-12-04 19:20:52 -08:00
Julian Tescher 2c687c574f
Simplify global impl and add documentation (#79)
This patch simplifies the global module by implementing
`GenericProvider` and `GenericTracer` on impls of `Provider` and
`Tracer` directly. These changes remove multiple levels of boxing that
were necessary with the previous implementation.
2020-03-23 21:11:04 -07:00
Isobel Redelmeier b793cc502e
Configure CI through GitHub Actions (#19)
[Closes #10]
2019-12-02 13:20:40 -08:00