opentelemetry-ruby icon indicating copy to clipboard operation
opentelemetry-ruby copied to clipboard

Audit for 1.13.0 spec compliance

Open ahayworth opened this issue 3 years ago • 1 comments
trafficstars

Spec release 1.13.0 is available:

The release should be audited for issues pertinent to opentelemetry-ruby, and issues created for any outstanding spec compliance work. Make sure to tag those issues with the spec-compliance and spec-compliance/v1.13.0 labels, and add them to the Spec Compliance project.

ahayworth avatar Oct 03 '22 13:10 ahayworth

Traces

  • [x] Clarify the return of Export(batch) in the Batch Span Processor and exporter concurrency (https://github.com/open-telemetry/opentelemetry-specification/pull/2452)
    • ✅ The clarified requirements state that calls to export must not happen concurrently, but that the export itself can be done concurrently within the exporter. As far as I can tell, we simply have no concurrency in any of our exporters, so we're okay here.
  • [x] Clarify that Context should not be mutable when setting a span (https://github.com/open-telemetry/opentelemetry-specification/pull/2637)
    • ✅ Our contexts are immutable, as far as I can tell. Granted, is anything in ruby every truly immutable? Of course not, but our Context code treats things as if they are. 😄
  • [x] Clarify that ForceFlush is a required method on SpanExporter interface (https://github.com/open-telemetry/opentelemetry-specification/pull/2654)
    • ✅ We're good here, all exporters (even the in-memory and console exporters) implement this interface.

Metrics

  • [ ] Add experimental OTEL_EXPORTER_OTLP_DEFAULT_HISTOGRAM_AGGREGATION variable for configuring default histogram aggregation of OTLP metric exporter (https://github.com/open-telemetry/opentelemetry-specification/pull/2619)
  • [ ] Clarify async instrument callback identity (https://github.com/open-telemetry/opentelemetry-specification/pull/2538)
  • [ ] Prometheus export: Only monotonic sum are counters (with _total) (https://github.com/open-telemetry/opentelemetry-specification/pull/2644)
  • [ ] [OM/OTLP] Use _created for StartTimeUnixNano and vice-versa (https://github.com/open-telemetry/opentelemetry-specification/pull/2645)
  • [ ] Prometheus compatibility: use target_info metric instead of "target" info MF (https://github.com/open-telemetry/opentelemetry-specification/pull/2701)
  • [ ] Add optional Zero Threshold for Exponential Histograms to the metrics data model (https://github.com/open-telemetry/opentelemetry-specification/pull/2665)
  • [ ] Change the inclusivity of exponential histogram bounds (https://github.com/open-telemetry/opentelemetry-specification/pull/2633)
  • [ ] Add process.threads host metric semantic convention. (https://github.com/open-telemetry/opentelemetry-specification/pull/2705).

Logs

Logs? What logs? 🙃

Resource

  • [ ] Update the version of the W3C Baggage specification used for OTEL_RESOURCE_ATTRIBUTES (https://github.com/open-telemetry/opentelemetry-specification/pull/2670)
    • Tracked in #1361

Semantic Conventions

  • [ ] We need to update the version of the semconv gem to pull all of these in:
    • Add net.app.protocol.* attributes (https://github.com/open-telemetry/opentelemetry-specification/pull/2602)
    • Add network metrics to process semantic conventions (https://github.com/open-telemetry/opentelemetry-specification/pull/2556)
    • Add semantic conventions for GraphQL (https://github.com/open-telemetry/opentelemetry-specification/pull/2456)
    • Add rpc.grpc.status_code to RPC metric semantic conventions (https://github.com/open-telemetry/opentelemetry-specification/pull/2604)
    • Add http...size metric semantic conventions for tracking size of requests / responses for http servers / clients (https://github.com/open-telemetry/opentelemetry-specification/pull/2588)
    • Define socket-level attributes and clarify logical peer and host attributes meaning (https://github.com/open-telemetry/opentelemetry-specification/pull/2594)
    • Add semantic conventions for JVM buffer pool usage (https://github.com/open-telemetry/opentelemetry-specification/pull/2650)
    • Improve the definition of state attribute for metric system.network.connections (https://github.com/open-telemetry/opentelemetry-specification/pull/2663)
    • Add OpenSearch to db.system semantic conventions (https://github.com/open-telemetry/opentelemetry-specification/pull/2718)
    • Remove alternative attribute sets from HTTP semantic conventions (https://github.com/open-telemetry/opentelemetry-specification/pull/2469)
    • Add the convention 'type' to the YAML definitions for all existing semantic conventions (https://github.com/open-telemetry/opentelemetry-specification/pull/2693)
  • [ ] Add process.parent_pid attribute for use in reporting parent process id (PID) (https://github.com/open-telemetry/opentelemetry-specification/pull/2691)
  • [ ] Clarify when "count" is used instead of pluralization (https://github.com/open-telemetry/opentelemetry-specification/pull/2613)
  • [ ] Adopt attribute requirement levels in semantic conventions (https://github.com/open-telemetry/opentelemetry-specification/pull/2594)
    • Since attribute requirement levels were just adopted, these should come along "for free" and don't need separate auditing (I think).
      • Change cloudevents.event_spec_version and cloudevents.event_type level from required to recommended (https://github.com/open-telemetry/opentelemetry-specification/pull/2618)
      • Change faas.document.time and faas.time level from required to recommended (https://github.com/open-telemetry/opentelemetry-specification/pull/2627)
  • [ ] BREAKING: rename net.peer.ip to net.sock.peer.addr, net.host.ip to net.sock.host.addr, net.peer.name to net.sock.peer.name for socket-level instrumentation.
    • This change should get pulled in with the update to semconv, but we should audit to ensure that we update any calling code which might be referencing it.
    • I believe we have references to it manually, without using the semconv gem: zipkin exporter

OpenTelemetry Protocol

  • [ ] Add support for partial success in an OTLP export response (https://github.com/open-telemetry/opentelemetry-specification/pull/2696)
    • Tracked in #1361

SDK Configuration

  • [ ] Mark OTEL_METRIC_EXPORT_INTERVAL, OTEL_METRIC_EXPORT_TIMEOUT environment variables as Stable (https://github.com/open-telemetry/opentelemetry-specification/pull/2658)

Telemetry Schemas

  • [ ] Introduce "split" metric schema transformation (https://github.com/open-telemetry/opentelemetry-specification/pull/2653)

Common

  • [ ] Introduce Instrumentation Scope Attributes (https://github.com/open-telemetry/opentelemetry-specification/pull/2579)
    • [ ] Define Instrumentation Scope Attributes as non identifiers (https://github.com/open-telemetry/opentelemetry-specification/pull/2789)

ahayworth avatar Oct 07 '22 13:10 ahayworth

👋 This issue has been marked as stale because it has been open with no activity. You can: comment on the issue or remove the stale label to hold stale off for a while, add the keep label to hold stale off permanently, or do nothing. If you do nothing this issue will be closed eventually by the stale bot.

github-actions[bot] avatar Mar 29 '24 01:03 github-actions[bot]