signalfx / gdi-specification

Splunk GDI specification for cross-repository compatibility
Apache License 2.0
3 stars 15 forks source link

Compatibility matrix/documentation schema #276

Open Kielek opened 11 months ago

Kielek commented 11 months ago

Is your feature request related to a problem? Please describe. Each project should create documentation data in yaml file format. It will allow documentation team to generate it with unified way and provide common experience for end users.

Describe the solution you'd like To standardize and validate format structure shcema file is needed.

Describe alternatives you've considered N/A

Additional context Discussions under: https://github.com/Kielek/splunk-otel-dotnet/pull/1 and the PR for .NET https://github.com/signalfx/splunk-otel-dotnet/pull/352 Task should be done when we have more repositories with implementation.

Kielek commented 11 months ago

Sample .NET output:

component: Splunk Distribution of OpenTelemetry .NET
version: 1.0.3-alpha.0.13
dependencies:
  - name: OpenTelemetry .NET
    source_href: https://github.com/open-telemetry/opentelemetry-dotnet
    version: 1.6.0
    stability: stable
  - name: OpenTelemetry .NET Automatic Instrumentation
    source_href: https://github.com/open-telemetry/opentelemetry-dotnet-instrumentation
    version: 1.0.2
    stability: stable
settings:
  - env: SPLUNK_TRACE_RESPONSE_HEADER_ENABLED
    description: Activated by default. Adds server trace information to HTTP response headers. The default value is `true`.
    default: 'true'
    type: boolean
    category: general
  - env: OTEL_DOTNET_AUTO_EXCLUDE_PROCESSES
    description: "Names of the executable files that you don't want the profiler to instrument. Supports multiple semicolon-separated values, for example: `ReservedProcess.exe;powershell.exe`. Notice that applications launched using dotnet MyApp.dll have process name `dotnet` or `dotnet.exe`. Can't be set using the web.config or app.config files."
    default: ''
    type: general
    category: string
  - env: OTEL_DOTNET_AUTO_TRACES_ENABLED
    description: Long Traces are collected by default. To deactivate trace collection, set the environment variable to `false`. Data from custom or manual instrumentation is not affected.
    default: 'true'
    type: boolean
    category: general
  - env: OTEL_DOTNET_AUTO_METRICS_ENABLED
    description: etrics are collected by default. To deactivate metric collection, set the environment variable to `false`. Data from custom or manual instrumentation is not affected.
    default: 'true'
    type: boolean
    category: general
  - env: OTEL_DOTNET_AUTO_LOGS_ENABLED
    description: Logs are collected by default. To deactivate log collection, set the environment variable to `false`. Data from custom or manual instrumentation is not affected.
    default: 'true'
    type: boolean
    category: general
  - env: OTEL_DOTNET_AUTO_OPENTRACING_ENABLED
    description: Activates the OpenTracing tracer. The default value is `false`.
    default: 'false'
    type: boolean
    category: general
  - env: OTEL_DOTNET_AUTO_NETFX_REDIRECT_ENABLED
    description: Activates immediate redirection of the assemblies used by the automatic instrumentation on the .NET Framework. The default values is `true`. Can't be set using the web.config or app.config files.
    default: 'true'
    type: boolean
    category: general
  - env: OTEL_DOTNET_AUTO_FLUSH_ON_UNHANDLEDEXCEPTION
    description: Controls whether the telemetry data is flushed when an `AppDomain.UnhandledException` event is raised. Set to `true` when experiencing missing telemetry at the same time of unhandled exceptions.
    default: 'false'
    type: boolean
    category: general
  - env: OTEL_DOTNET_AUTO_RULE_ENGINE_ENABLED
    description: Activates RuleEngine. The default values is `true`. RuleEngine increases the stability of the instrumentation by validating assemblies for unsupported scenarios.
    default: 'true'
    type: boolean
    category: general
  - env: OTEL_DOTNET_AUTO_FAIL_FAST_ENABLED
    description: Activate to let the process fail when automatic instrumentation can't be executed. This setting is for debugging purposes, don't use it in production environments. The default value is `false`. Can't be set using the web.config or app.config files.
    default: 'false'
    type: boolean
    category: general
  - env: OTEL_EXPORTER_OTLP_ENDPOINT
    description: The URL to where traces and metrics are sent. The default value is `http://localhost:4318`. Setting a value overrides the `SPLUNK_REALM` environment variable.
    default: ''
    type: string
    category: exporter
  - env: SPLUNK_REALM
    description: The name of your organization's realm, for example, `us0`. When you set the realm, telemetry is sent directly to the ingest endpoint of Splunk Observability Cloud, bypassing the Splunk Distribution of OpenTelemetry Collector.
    default: ''
    type: string
    category: exporter
  - env: SPLUNK_ACCESS_TOKEN
    description: A Splunk authentication token that lets exporters send data directly to Splunk Observability Cloud. Unset by default. Required if you need to send data to the Splunk Observability Cloud ingest endpoint.
    default: ''
    type: string
    category: exporter
  - env: OTEL_PROPAGATORS
    description: Comma-separated list of propagators for the tracer. The default value is `tracecontext,baggage`. Supported values are `b3multi`, `b3`, `tracecontext`, and `baggage`.
    default: 'tracecontext,baggage'
    type: string
    category: trace propagation
  - env: OTEL_TRACES_SAMPLER
    description: Sampler to use. The default value is `parentbased_always_on`. Supported values are `always_on`, `always_off`, `traceidratio`, `parentbased_always_on`, `parentbased_always_off`, and `parentbased_traceidratio`.
    default: 'parentbased_always_on'
    type: string
    category: sampler
  - env: OTEL_TRACES_SAMPLER_ARG
    description: Semicolon-separated list of rules for the `rules` sampler. The default value is `1.0` for `parentbased_always_on`.
    default: '1.0'
    type: string
    category: sampler
  - env: OTEL_DOTNET_AUTO_RESOURCE_DETECTOR_ENABLED
    description: Activates or deactivates all resource detectors. The default values is `true`.
    default: 'true'
    type: boolean
    category: resource detector
  - env: OTEL_DOTNET_AUTO_{DECTECTOR}_RESOURCE_DETECTOR_ENABLED
    description: Activates or deactivates a specific resource detector, where `{DETECTOR}` is the uppercase identifier of the resource detector you want to activate. Overrides `OTEL_DOTNET_AUTO_RESOURCE_DETECTOR_ENABLED`.
    default: 'depends on `OTEL_DOTNET_AUTO_RESOURCE_DETECTOR_ENABLED`'
    type: boolean
    category: resource detector
  - env: OTEL_SERVICE_NAME
    description: Name of the service or application you're instrumenting. Takes precedence over the service name defined in the `OTEL_RESOURCE_ATTRIBUTES` variable.
    default: ''
    type: string
    category: instrumentation
  - env: OTEL_RESOURCE_ATTRIBUTES
    description: Comma-separated list of resource attributes added to every reported span. For example, `key1=val1,key2=val2`.
    default: ''
    type: string
    category: instrumentation
  - env: OTEL_DOTNET_AUTO_TRACES_ADDITIONAL_SOURCES
    description: Comma-separated list of additional `System.Diagnostics.ActivitySource` names to be added to the tracer at startup. Use it to capture spans from manual instrumentation.
    default: ''
    type: string
    category: instrumentation
  - env: OTEL_DOTNET_AUTO_METRICS_ADDITIONAL_SOURCES
    description: Comma-separated list of additional `System.Diagnostics.Metrics.Meter` names to be added to the meter at the startup. Use it to capture custom metrics.
    default: ''
    type: string
    category: instrumentation
  - env: OTEL_SPAN_ATTRIBUTE_COUNT_LIMIT
    description: Maximum number of attributes per span. Default value is unlimited.
    default: ''
    type: int
    category: instrumentation
  - env: OTEL_SPAN_EVENT_COUNT_LIMIT
    description: Maximum number of events per span. Default value is unlimited.
    default: ''
    type: int
    category: instrumentation
  - env: OTEL_SPAN_LINK_COUNT_LIMIT
    description: Maximum number of links per span. Default value is `1000`.
    default: '1000'
    type: int
    category: instrumentation
  - env: OTEL_ATTRIBUTE_VALUE_LENGTH_LIMIT
    description: Maximum length of strings for attribute values. Values larger than the limit are truncated. Default value is `1200`. Empty values are treated as infinity.
    default: '1200'
    type: int
    category: instrumentation
  - env: OTEL_DOTNET_AUTO_TRACES_ADDITIONAL_LEGACY_SOURCES
    description: Comma-separated list of additional legacy source names to be added to the tracer at the startup. Use it to capture `System.Diagnostics.Activity` objects created without using the `System.Diagnostics.ActivitySource` API.
    default: ''
    type: string
    category: instrumentation
  - env: OTEL_LOG_LEVEL
    description: Sets the logging level for instrumentation log messages. Possible values are `none`, `error`, `warn`, `info`, and `debug`. The default value is `info`. Can't be set using the web.config or app.config files.
    default: 'info'
    type: string
    category: diagnostic logging
  - env: OTEL_DOTNET_AUTO_LOG_DIRECTORY
    description: Directory of the .NET tracer logs. The default value is `/var/log/opentelemetry/dotnet` for Linux, and `%ProgramData%\OpenTelemetry .NET AutoInstrumentation\logs` for Windows. Can't be set using the web.config or app.config files.
    default: ''
    type: string
    category: diagnostic logging
  - env: OTEL_DOTNET_AUTO_TRACES_CONSOLE_EXPORTER_ENABLED
    description: Whether the traces console exporter is activated. The default value is `false`.
    default: 'false'
    type: boolean
    category: diagnostic logging
  - env: OTEL_DOTNET_AUTO_METRICS_CONSOLE_EXPORTER_ENABLED
    description: Whether the metrics console exporter is activated. The default value is `false`.
    default: 'false'
    type: boolean
    category: diagnostic logging
  - env: OTEL_DOTNET_AUTO_LOGS_CONSOLE_EXPORTER_ENABLED
    description: Whether the logs console exporter is activated. The default value is `false`.The default value is `false`.
    default: 'false'
    type: boolean
    category: diagnostic logging
  - env: OTEL_DOTNET_AUTO_LOGS_INCLUDE_FORMATTED_MESSAGE
    description: Whether the log state have to be formatted. The default value is `false`.
    default: 'false'
    type: boolean
    category: diagnostic logging
instrumentations:
  - keys:
      - ASPNET
    instrumented_components:
      - name: ASP.NET Framework (.NET Framework)
        supported_versions: See general requirements
    description: MVC / WebApi (Only integrated pipeline mode supported). Metrics requires trace instrumentation.
    stability: beta
    support: community
    dependencies:
      - name: ASP.NET Instrumentation for OpenTelemetry
        source_href: https://github.com/open-telemetry/opentelemetry-dotnet-contrib/tree/main/src/OpenTelemetry.Instrumentation.AspNet
        package_href: https://www.nuget.org/packages/OpenTelemetry.Instrumentation.AspNet
        version: 1.0.0-rc9.9
        stability: beta
      - name: ASP.NET Telemetry HttpModule for OpenTelemetry
        source_href: https://github.com/open-telemetry/opentelemetry-dotnet-contrib/tree/main/src/OpenTelemetry.Instrumentation.AspNet.TelemetryHttpModule
        package_href: https://www.nuget.org/packages/OpenTelemetry.Instrumentation.AspNet.TelemetryHttpModule
        version: 1.0.0-rc9.9
        stability: beta
    signals:
      - traces: &o0 []
      - metrics:
          - metric_name: http.server.duration
            instrument: histogram
            description: Duration of the inbound HTTP request, in the form of count, sum, and histogram buckets. This metric originates multiple metric time series, which might result in increased data ingestion costs.
  - keys:
      - ASPNETCORE
    instrumented_components:
      - name: ASP.NET Core
        supported_versions: See general requirements
    description: Metrics automatically activates `Microsoft.AspNetCore.Hosting.HttpRequestIn` spans.
    stability: beta
    support: community
    dependencies:
      - name: ASP.NET Core Instrumentation for OpenTelemetry .NET
        source_href: https://github.com/open-telemetry/opentelemetry-dotnet/tree/main/src/OpenTelemetry.Instrumentation.AspNetCore
        package_href: https://www.nuget.org/packages/OpenTelemetry.Instrumentation.AspNetCore
        version: 1.5.1-beta.1
        stability: beta
    signals:
      - traces: *o0
      - metrics:
          - metric_name: http.server.duration
            instrument: histogram
            description: Duration of the inbound HTTP request, in the form of count, sum, and histogram buckets. This metric originates multiple metric time series, which might result in increased data ingestion costs.
  - keys:
      - AZURE
    instrumented_components:
      - name: Azure SDK
        supported_versions: '`Azure.` prefixed packages, released after October 1, 2021'
    stability: beta
    support: third-party
    signals:
      - traces: *o0
  - keys:
      - ELASTICSEARCH
    instrumented_components:
      - name: Elastic.Clients.Elasticsearch
        supported_versions: 8.0.0 and higher
    stability: beta
    support: third-party
    signals:
      - traces: *o0
  - keys:
      - ENTITYFRAMEWORKCORE
    instrumented_components:
      - name: Microsoft.EntityFrameworkCore
        supported_versions: 6.0.12 and higher
    description: Not supported on .NET Framework
    stability: beta
    support: community
    dependencies:
      - name: EntityFrameworkCore Instrumentation for OpenTelemetry .NET
        source_href: https://github.com/open-telemetry/opentelemetry-dotnet-contrib/tree/main/src/OpenTelemetry.Instrumentation.EntityFrameworkCore
        package_href: https://www.nuget.org/packages/OpenTelemetry.Instrumentation.EntityFrameworkCore
        version: 1.0.0-beta.7
        stability: beta
    signals:
      - traces: *o0
  - keys:
      - GRAPHQL
    instrumented_components:
      - name: GraphQL
        supported_versions: 7.5.0 and higher
    description: Not supported on .NET Framework
    stability: beta
    support: third-party
    signals:
      - traces: *o0
    settings:
      - env: OTEL_DOTNET_AUTO_GRAPHQL_SET_DOCUMENT
        description: Whether the GraphQL instrumentation can pass raw queries as a `graphql.document` attribute. As queries might contain sensitive information, the default value is `false`.
        default: 'false'
        type: boolean
        category: instrumentation
  - keys:
      - GRPCNETCLIENT
    instrumented_components:
      - name: Grpc.Net.Client
        supported_versions: 2.52.0 to 3.0.0
    stability: beta
    support: community
    dependencies:
      - name: Grpc.Net.Client Instrumentation for OpenTelemetry
        source_href: https://github.com/open-telemetry/opentelemetry-dotnet/tree/main/src/OpenTelemetry.Instrumentation.GrpcNetClient
        package_href: https://www.nuget.org/packages/OpenTelemetry.Instrumentation.GrpcNetClient
        version: 1.5.1-beta.1
        stability: beta
    signals:
      - traces: *o0
  - keys:
      - HTTPCLIENT
    instrumented_components:
      - name: System.Net.Http.HttpClient
        supported_versions: See general requirements
      - name: System.Net.HttpWebRequest
        supported_versions: See general requirements
    stability: beta
    support: community
    dependencies:
      - name: HttpClient and HttpWebRequest instrumentation for OpenTelemetry
        source_href: https://github.com/open-telemetry/opentelemetry-dotnet/tree/main/src/OpenTelemetry.Instrumentation.Http
        package_href: https://www.nuget.org/packages/OpenTelemetry.Instrumentation.Http
        version: 1.5.1-beta.1
        stability: beta
    signals:
      - traces: *o0
      - metrics:
          - metric_name: http.client.duration
            instrument: histogram
            description: Duration of outbound HTTP requests, in the form of count, sum, and histogram buckets. This metric originates multiple metric time series, which might result in increased data ingestion costs.
          - metric_name: http.server.duration
            instrument: histogram
            description: Duration of the inbound HTTP request, in the form of count, sum, and histogram buckets. This metric originates multiple metric time series, which might result in increased data ingestion costs.
  - keys:
      - MASSTRANSIT
    instrumented_components:
      - name: MassTransit
        supported_versions: 8.0.0 and higher
    description: Not supported on .NET Framework
    stability: beta
    support: third-party
    signals:
      - traces: *o0
  - keys:
      - MONGODB
    instrumented_components:
      - name: MongoDB.Driver.Core
        supported_versions: 2.13.3 to 3.0.0
    description: Not supported on .NET Framework
    stability: beta
    support: third-party
    signals:
      - traces: *o0
  - keys:
      - MYSQLCONNECTOR
    instrumented_components:
      - name: MySqlConnector
        supported_versions: 2.0.0 and higher
    stability: beta
    support: third-party
    signals:
      - traces: *o0
  - keys:
      - MYSQLDATA
    instrumented_components:
      - name: MySql.Data
        supported_versions: 8.1.0 and higher
    description: Not supported on .NET Framework
    stability: beta
    support: third-party
    signals:
      - traces: *o0
  - keys:
      - NPGSQL
    instrumented_components:
      - name: Npgsql
        supported_versions: 6.0.0 and higher
    stability: beta
    support: third-party
    signals:
      - traces: *o0
  - keys:
      - NSERVICEBUS
    instrumented_components:
      - name: NServiceBus
        supported_versions: 8.0.0 and higher
    stability: beta
    support: third-party
    signals:
      - traces: *o0
      - metrics:
          - metric_name: nservicebus.messaging.successes
            instrument: counter
            description: Number of messages successfully processed by the endpoint.
          - metric_name: nservicebus.messaging.fetches
            instrument: counter
            description: Number of messages retrieved from the queue by the endpoint.
          - metric_name: nservicebus.messaging.failures
            instrument: counter
            description: Number of messages unsuccessfully processed by the endpoint.
  - keys:
      - QUARTZ
    instrumented_components:
      - name: Quartz
        supported_versions: 3.4.0 and higher
    description: Not supported on .NET Framework 4.7.1 and lower
    stability: beta
    support: community
    dependencies:
      - name: QuartzNET Instrumentation for OpenTelemetry .NET
        source_href: https://github.com/open-telemetry/opentelemetry-dotnet-contrib/tree/main/src/OpenTelemetry.Instrumentation.Quartz
        package_href: https://www.nuget.org/packages/OpenTelemetry.Instrumentation.Quartz
        version: 1.0.0-alpha.3
        stability: alpha
    signals:
      - traces: *o0
  - keys:
      - STACKEXCHANGEREDIS
    instrumented_components:
      - name: StackExchange.Redis
        supported_versions: 2.0.405 to 3.0.0
    description: Not supported on .NET Framework
    stability: beta
    support: community
    dependencies:
      - name: StackExchange.Redis Instrumentation for OpenTelemetry
        source_href: https://github.com/open-telemetry/opentelemetry-dotnet-contrib/tree/main/src/OpenTelemetry.Instrumentation.StackExchangeRedis
        package_href: https://www.nuget.org/packages/OpenTelemetry.Instrumentation.StackExchangeRedis
        version: 1.0.0-rc9.10
        stability: beta
    signals:
      - traces: *o0
  - keys:
      - WCFCLIENT
      - WCFSERVICE
    instrumented_components:
      - name: System.ServiceModel
        supported_versions: 4.7.0 and higher of `System.ServiceModel.Primitives`
    description: Service side not supported on .NET. `WCFCLIENT for client side instrumentation and `WCFSERVICE` for service side instrumentation
    stability: beta
    support: community
    dependencies:
      - name: WCF Instrumentation for OpenTelemetry .NET
        source_href: https://github.com/open-telemetry/opentelemetry-dotnet-contrib/tree/main/src/OpenTelemetry.Instrumentation.Wcf
        package_href: https://www.nuget.org/packages/OpenTelemetry.Instrumentation.Wcf
        version: 1.0.0-rc.12
        stability: beta
    signals:
      - traces: *o0
  - keys:
      - NETRUNTIME
    instrumented_components:
      - name: .NET runtime
    stability: beta
    support: community
    dependencies:
      - name: Runtime Instrumentation for OpenTelemetry .NET
        source_href: https://github.com/open-telemetry/opentelemetry-dotnet-contrib/tree/main/src/OpenTelemetry.Instrumentation.Runtime
        package_href: https://www.nuget.org/packages/OpenTelemetry.Instrumentation.Runtime
        version: 1.5.1
        stability: stable
    signals:
      - metrics:
          - metric_name: process.runtime.dotnet.gc.collections.count
            instrument: counter
            description: Number of garbage collections since the process started.
          - metric_name: process.runtime.dotnet.gc.heap.size
            instrument: updowncounter
            description: Heap size, as observed during the last garbage collection. Only available for .NET 6 or higher.
          - metric_name: process.runtime.dotnet.gc.heap.fragmentation.size
            instrument: updowncounter
            description: Heap fragmentation, as observed during the last garbage collection. Only available for .NET 7 or higher.
          - metric_name: process.runtime.dotnet.gc.objects.size
            instrument: updowncounter
            description: Count of bytes currently in use by live objects in the GC heap.
          - metric_name: process.runtime.dotnet.gc.allocations.size
            instrument: counter
            description: Count of bytes allocated on the managed GC heap since the process started. Only available for .NET 6 or higher.
          - metric_name: process.runtime.dotnet.gc.committed_memory.size
            instrument: updowncounter
            description: Amount of committed virtual memory for the managed GC heap, as observed during the last garbage collection. Only available for .NET 6 and higher.
          - metric_name: process.runtime.dotnet.gc.duration
            instrument: counter
            description: The total amount of time paused in GC since the process start. Only available for .NET 7 and higher.
          - metric_name: process.runtime.dotnet.monitor.lock_contention.count
            instrument: counter
            description: Contentions count when trying to acquire a monitor lock since the process started.
          - metric_name: process.runtime.dotnet.thread_pool.threads.count
            instrument: counter
            description: Number of thread pool threads, as observed during the last measurement. Only available for .NET 6 or higher.
          - metric_name: process.runtime.dotnet.thread_pool.completed_items.count
            instrument: counter
            description: Number of work items processed by the thread pool since the process started. Only available for .NET 6 or higher.
          - metric_name: process.runtime.dotnet.thread_pool.queue.length
            instrument: updowncounter
            description: Number of work items currently queued for processing by the thread pool. Only available for .NET 6 or higher.
          - metric_name: process.runtime.dotnet.jit.il_compiled.size
            instrument: counter
            description: Bytes of intermediate language that have been compiled since the process started. Only available for .NET 6 or higher.
          - metric_name: process.runtime.dotnet.jit.methods_compiled.count
            instrument: counter
            description: Number of times the JIT compiler compiled a method since the process started. Only available for .NET 6 or higher.
          - metric_name: process.runtime.dotnet.jit.compilation_time
            instrument: counter
            description: Amount of time the compiler spent compiling methods since the process started. Only available for .NET 6 or higher.
          - metric_name: process.runtime.dotnet.timer.count
            instrument: updowncounter
            description: Number of timer instances currently active. Only available for .NET 6 or higher.
          - metric_name: process.runtime.dotnet.assemblies.count
            instrument: updowncounter
            description: Number of .NET assemblies that are currently loaded.
          - metric_name: process.runtime.dotnet.exceptions.count
            instrument: counter
            description: Count of exceptions thrown in managed code since the observation started.
  - keys:
      - PROCESS
    instrumented_components:
      - name: Process
    stability: beta
    support: community
    dependencies:
      - name: Process Instrumentation for OpenTelemetry .NET
        source_href: https://github.com/open-telemetry/opentelemetry-dotnet-contrib/tree/main/src/OpenTelemetry.Instrumentation.Process
        package_href: https://www.nuget.org/packages/OpenTelemetry.Instrumentation.Process
        version: 0.5.0-beta.3
        stability: beta
    signals:
      - metrics:
          - metric_name: process.memory.usage
            instrument: updowncounter
            description: The amount of physical memory allocated for this process.
          - metric_name: process.memory.virtual
            instrument: updowncounter
            description: The amount of committed virtual memory for this process.
          - metric_name: process.cpu.time
            instrument: counter
            description: Total CPU seconds broken down by different states, such as user and system.
          - metric_name: process.cpu.count
            instrument: updowncounter
            description: Total CPU seconds broken down by different states, such as user and system.
          - metric_name: process.threads
            instrument: updowncounter
            description: Process threads count.
  - keys:
      - ILOGGER
    instrumented_components:
      - name: Microsoft.Extensions.Logging
        supported_versions: 6.0.0 and higher
    description: Not supported on .NET Framework
    stability: beta
    support: community
    signals:
      - logs: []
resource_detectors:
  - key: AZUREAPPSERVICE
    description: Azure App Service detector.
    attributes:
      - id: azure.app.service.stamp
      - id: cloud.platform
      - id: cloud.provider
      - id: cloud.resource_id
      - id: cloud.region
      - id: deployment.environment
      - id: host.id
      - id: service.instance.id
      - id: service.name
    stability: beta
    support: community
    dependencies:
      - name: Resource Detectors for Azure cloud environments
        source_href: https://github.com/open-telemetry/opentelemetry-dotnet-contrib/tree/main/src/OpenTelemetry.ResourceDetectors.Azure
        package_href: https://www.nuget.org/packages/OpenTelemetry.ResourceDetectors.Azure
        version: 1.0.0-beta.3
        stability: beta
  - key: CONTAINER
    description: Container detector. For example, Docker or Podman containers.
    attributes:
      - id: container.id
    stability: beta
    support: community
    dependencies:
      - name: Container Resource Detectors
        source_href: https://github.com/open-telemetry/opentelemetry-dotnet-contrib/tree/main/src/OpenTelemetry.ResourceDetectors.Container
        package_href: https://www.nuget.org/packages/OpenTelemetry.ResourceDetectors.Container
        version: 1.0.0-beta.4
        stability: beta
breedx-splk commented 11 months ago

I don't think this issue is clear enough yet. Why should we be creating this yaml file? I think it's to help automate the documentation around all the ways that a disto might be configured. Is that right? If so, the issue should say that. It looks like it's even more than that though, because it describes metrics and other attributes. Can we split this into small units of work (eg. tackle those different concerns separately)?

The issue is also titled "matrix-schema", which is fine, if the idea is to create a schema. The example docs are also fine, but they don't constitute a schema.

Kielek commented 11 months ago

@breedx-splk, the goal of previous tasks was to create something good enough to start working on documentation. The next planned step is to create something similar tor other instrumentation (Java, NodeJS). I think that it can happened without formalizing schema file as it should allow us to find lacks of version proposed in https://github.com/Kielek/splunk-otel-dotnet/pull/1. I suppose that java is similar enough to .NET, but I expect more extensions for Node.js or Go.