-
Notifications
You must be signed in to change notification settings - Fork 890
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
Is OTLP file exporter required for SDKs? #3817
Comments
It would be good if we could get more specific feedback about the intended usage, use cases, and related work on this. |
The intended usage is to be to counterpart of the otlpjsonfilereceiver component - which is currently under development: |
Regarding the spec, I'd propose
and
wdyt? |
Which SIGs would this impact? All of them (outside of collector?) |
yes, all language sigs |
@zeitlinger, I would like to have I propose to Add Add |
good point, so the question is
same number of chars, so I'd prefer the second, more consistent option |
@open-telemetry/technical-committee, can you please "re-triage" the issue given the community feedback we got #4183 (comment) + comments below? I can be assigned as a sponsor as I am already trying to assist @zeitlinger. |
I realize I'm a bit late to this party (around file export). I just want to call out that I think writing JSON is a "simple" exporter, but possibly not the most efficient way to do file-based communication between Process -> Collector. I put together a quick (trace-only) prototype e.g. of a more sophisticated file format (designed as an IPC mechanism): https://github.com/jsuereth/otlp-mmap/ I'm not sure this is the right issue for this discussion, but I do think we should create a strategy for this kind of architecture: flowchart LR
SDK-->|writes| file
Collector-->|reads| file
Collector-->|otlp| Backend
I do think a naive "json" export is fine, but I think we should also be considering something that allows us to "get data off process" as fast as possible, e.g. for dealing with crash scenarios. Posting here to better understand if this is the intended use case of the file exporter and if we think we should be designing a more efficient / robust solution that would eventually be the "default recommended" path for writing to files. |
I think it's great to have more eyes on the topic - and I agree that the current iteration I'm working on (json over stdout) can probably be improved - but I still think it's a good first step as it unlocks many use cases and is easy to use with k8s. |
Towards #3817 ## Changes Add OTLP Stdout exporter. For non-trivial changes, follow the [change proposal process](https://github.com/open-telemetry/opentelemetry-specification/blob/main/CONTRIBUTING.md#proposing-a-change). * [x] Related issues #3817 ~* [ ] Related [OTEP(s)](https://github.com/open-telemetry/oteps) #~ * [x] Links to the prototypes: open-telemetry/opentelemetry-java#6632 * [x] [`CHANGELOG.md`](https://github.com/open-telemetry/opentelemetry-specification/blob/main/CHANGELOG.md) file updated for non-trivial changes ~* [ ] [`spec-compliance-matrix.md`](https://github.com/open-telemetry/opentelemetry-specification/blob/main/spec-compliance-matrix.md) updated if necessary~ * [x] reference implementation open-telemetry/opentelemetry-java#6632 --------- Co-authored-by: Robert Pająk <[email protected]> Co-authored-by: Cyrille Le Clerc <[email protected]> Co-authored-by: Cijo Thomas <[email protected]>
The OTLP File exporter seems like it could be an implementation requirement for SDKs, but on closer inspection:
OTEL_TRACES_EXPORTER
,OTEL_METRICS_EXPORTER
,OTEL_LOGS_EXPORTER
On one hand, it would be nice to be able to configure SDKs to export to files. On the other hand, supporting file export requires a variety of additional un-specified configuration options including the the name of the file, whether a file rotation strategy is used, and more. Additionally, supporting this in the SDK when the functionality exists in the collector duplicates effort.
The text was updated successfully, but these errors were encountered: