Comments (5)
I believe when we reach a point of maturity, it will be feasible to make this separation. Currently, it's the context propagation stuff that binds metrics and tracing. There are a bunch of issues asking for this to be separated from OTel proper (e.g., open-telemetry/opentelemetry-specification#70). When this is done, we can split the core library into three repos (context, metrics, tracing). We also have discussed eventually moving the exporters out, because they have random dependencies that most users don't want to build (e.g., Jaeger->Thrift).
from opentelemetry-go.
Hi @cep21. There is definitely the issue of clean API design. However, as @jmacd mentioned, the observability APIs do end up sharing certain concepts, which we are in the process of separating more decisively. One example include correlations, where independent observations - including those made across different observability APIs - can be indexed and associated with each other. Another example includes context propagation, where all observability systems use the same subsystem for transmitting their data.
I can repo separation of core components happening as part of the process of transitioning to a long term support guarantee for the v1.0. But pulling some of what are currently SDK innards out into plugins can happen sooner.
You mentioned the observability APIs, but for me, it's actually moving the context propagation mechanism into its own repo which I would really like to see. Ensuring that context propagation is cleanly separated into a lower layer will help drive adoption of that mechanism, and will make it easier to share with gRPC and other projects, as we know that some groups would feel odd about depending on an observability project for their context propagation. :)
from opentelemetry-go.
I will propose we set a date sometime after our Alpha release and sometime before our Beta releases begin, to split the repository into packages along the lines that you suggest. We need to flush our more on context propagation, which binds these two together.
from opentelemetry-go.
See also #261
from opentelemetry-go.
closing this unless it is mandated by the specification.
from opentelemetry-go.
Related Issues (20)
- Move from build-tools to weaver HOT 1
- Audit Compliance: Logs Bridge API Logger Provider
- Audit Compliance: Logs Bridge API Logger
- Audit Compliance: Logs Bridge API Concurrency Requirements
- Audit Compliance: Logs Bridge API Artifact Naming
- Audit Compliance: Logs Bridge SDK Logger Provider
- Audit Compliance: Logs Bridge SDK Logger
- Audit Compliance: Logs Bridge SDK ReadableLogRecord HOT 1
- Audit Compliance: Logs Bridge SDK ReadWriteLogRecord HOT 1
- Audit Compliance: Logs Bridge SDK LogRecord Limits
- Audit Compliance: Logs Bridge SDK LogRecordProcessor Interface
- Audit Compliance: Logs Bridge SDK Bult-in LogRecord Processors
- Audit Compliance: Logs Bridge SDK Log Record Exporter
- Audit Compliance: Logs Bridge No-Op Implementation
- SetAttributes/AddAttributes truncate strings down to 0-length HOT 5
- log: Add noCmp fields
- Update the no-op trace implementations to support auto-instrumentation
- How to Ignore `context.Canceled` Error HOT 1
- Otlp: `too many colons in address` when export env: `OTEL_EXPORTER_OTLP_TRACES_ENDPOINT` HOT 4
- [new feature] metrics: support prometheus remote write exporter. HOT 1
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from opentelemetry-go.