Skip to content
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

Add k8s ResourceDetector #48

Open
sergeyshaykhullin opened this issue Jan 15, 2022 · 1 comment
Open

Add k8s ResourceDetector #48

sergeyshaykhullin opened this issue Jan 15, 2022 · 1 comment
Labels
good first issue Good for newcomers help wanted Extra attention is needed

Comments

@sergeyshaykhullin
Copy link

sergeyshaykhullin commented Jan 15, 2022

I need a way to specify pod/namespace/node as otel attributes from env vars

OTEL_RESOURCE_ATTRIBUTES will not work for k8s with dynamic values, because k8s can't map(k=v).join(',') required attributes. It should be separate envs

- name: K8S_POD_NAME
  valueFrom:
    fieldRef:
      fieldPath: metadata.name
- name: K8S_NAMESPACE_NAME
  valueFrom:
    fieldRef:
      fieldPath: metadata.namespace
- name: K8S_NODE_NAME
  valueFrom:
    fieldRef:
      fieldPath: spec.nodeName

I can do it manually, but may be i can get a better solution

// Use default resource
let resource = Resource::from_detectors(Duration::from_secs(0), vec![
    Box::new(SdkProvidedResourceDetector),
    Box::new(EnvResourceDetector::new()),
  ])
  // Merge with custom or write own ResourceDetector
  .merge(&Resource::new(vec![
    opentelemetry_semantic_conventions::resource::K8S_POD_NAME.string(std::env::var("K8S_POD_NAME")?),
    opentelemetry_semantic_conventions::resource::K8S_NAMESPACE_NAME.string("K8S_NAMESPACE_NAME"),
    opentelemetry_semantic_conventions::resource::K8S_NODE_NAME.string("K8S_NODE_NAME"),
  ]));
@hdost hdost added good first issue Good for newcomers help wanted Extra attention is needed labels Feb 21, 2024
@cijothomas cijothomas transferred this issue from open-telemetry/opentelemetry-rust Mar 12, 2024
@cijothomas
Copy link
Member

Moved to contrib repo.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
good first issue Good for newcomers help wanted Extra attention is needed
Projects
None yet
Development

No branches or pull requests

3 participants