opentelemetry-java-instrume.../docs/ga-requirements.md

2.8 KiB

P1 (e.g. cannot GA without these):

  • End-to-end tests (#298)
    • OTLP, Jaeger and Zipkin
    • Spring Boot and Wildfly
      • (Wildfly chosen due to common javaagent issues around jboss modules and jboss logging)
    • Java 8, 11, and the latest Java version
  • Benchmarking
    • Runtime overhead benchmark
    • Startup overhead benchmark
  • All captured span attributes must either be from semantic attributes or be instrumentation-specific
    • TODO define convention for instrumentation-specific attributes, e.g. "elasticsearch.*"
  • Basic configuration points
    • Add custom auto-instrumentation
    • Ability to build "custom distro"
  • Documentation
    • All configuration options
      • Standard OpenTelemetry SDK + Exporter configuration options
      • Auto-instrumentation configuration options (e.g. disable/enable, peer.service mapping)
    • For each instrumentation
      • Document any instrumentation-specific configuration
    • How to troubleshoot (start documenting common issues somewhere)
  • Library (manual) instrumentations for a few libraries commonly used with Spring: Spring WebMVC, Spring WebFlux, Spring RestTemplate, JDBC
    • (this requirement is to ensure that we have a good path forward for supporting both auto and manual instrumentation)

P2:

  • Contributor experience (tag "contributor experience" plus tag "cleanup" plus tag "sporadic test failure")
    • New contributor documentation
      • How to write new instrumentation (auto, library, tests)
      • How to understand and fix muzzle issues
      • How to submit your first PR (CLA, check for CI failures, note about sporadic failures)
    • Faster builds
    • Fewer sporadic CI failures
    • Publish a debug jar without the classdata obfuscation

P3: