open-telemetry / opentelemetry-collector-contrib

Contrib repository for the OpenTelemetry Collector
https://opentelemetry.io
Apache License 2.0
3.07k stars 2.37k forks source link

New component: LaunchDarkly Component Wrapper #7942

Closed MovieStoreGuy closed 2 years ago

MovieStoreGuy commented 2 years ago

The purpose and use-cases of the new component

To allow for organisations to take advantage of existing feature flag practices in order to experiment with new means of trial out processors, receivers, or exporters that can be use in tandem with their currently existing o11y pipeline.

Example configuration for the component

exporters:
   grafana-cloud/trial:
     # All required configuration for sending to grafana cloud
   launchdarkly/new-vendor-on-trial:
      api_key: ${LAUNCH_DARKLY_API_KEY} # encourage those good practices with secrets
      featureflag: o11t-vendor-trial
      expires-at: 2023-06-01-0900:0 # Some official time RFC that includes timezone, also not tied to this field existing
      component: grafana-cloud/trial

service:
   pipeline:
      receivers: [nop]
      exporters: [launchdarkly/new-vendor-on-trial, existing-vendor/otel]

A few things of note is that the definition of the exporter is not actually consumed within the service pipeline but used as a reference by the launchdarkly component wrapper to correctly configure the component being wrapped. Expiration of feature flags is something that I do to encourage feature flags being cleaned up along with in any other code that would rot but I am not tied to this implementation detail since each org / company has their standards on dealing with feature flags.

Furthermore, while I reference an exporter here, I think it could also be used to help progressive migration services to adopt a new internal standard for varying types of receivers.

Telemetry data types supported

The ambition I have in my head is that it would support all components with all telemetry types as it would just wrap existing component

Sponsor (Optional)

As of yet, no current sponsor beyond myself but I am happy to see if there is interest among the community for this.

github-actions[bot] commented 2 years ago

This issue has been inactive for 60 days. It will be closed in 60 days if there is no activity. To ping code owners by adding a component label, see Adding Labels via Comments, or if you are unsure of which component this issue relates to, please ping @open-telemetry/collector-contrib-triagers. If this issue is still relevant, please ping the code owners or leave a comment explaining why it is still relevant. Otherwise, please close it.

MovieStoreGuy commented 2 years ago

Yeah, I don't think this is a good idea.