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

[receiver/k8sobjects] Fix empty event.name attribute when using watch mode #16543

Merged
merged 4 commits into from
Dec 16, 2022

Conversation

hvaghani221
Copy link
Member

Description:
event.name attribute is empty when collecting any resource using watch mode.

Link to tracking Issue: #16542

@hvaghani221
Copy link
Member Author

@dmitryax can you please review it?

@runforesight
Copy link

runforesight bot commented Dec 5, 2022

Foresight Summary

    
Major Impacts

TestConsumeLogsUnexpectedExporterType ❌ failed 2 times in 8 runs (25% fail rate).
TestConsumeTracesUnexpectedExporterType ❌ failed 2 times in 8 runs (25% fail rate).
TestLoadInvalidConfig_NoScrapers ❌ failed 2 times in 5 runs (40% fail rate).
build-and-test-windows duration(5 seconds) has decreased 39 minutes 52 seconds compared to main branch avg(39 minutes 57 seconds).
View More Details

⭕  build-and-test-windows workflow has finished in 5 seconds (39 minutes 52 seconds less than main branch avg.) and finished at 13th Dec, 2022.


Job Failed Steps Tests
windows-unittest-matrix -     🔗  N/A See Details
windows-unittest -     🔗  N/A See Details

✅  tracegen workflow has finished in 1 minute 18 seconds (2 minutes 27 seconds less than main branch avg.) and finished at 13th Dec, 2022.


Job Failed Steps Tests
build-dev -     🔗  N/A See Details
publish-latest -     🔗  N/A See Details
publish-stable -     🔗  N/A See Details

✅  check-links workflow has finished in 39 seconds (2 minutes 46 seconds less than main branch avg.) and finished at 13th Dec, 2022.


Job Failed Steps Tests
changed files -     🔗  N/A See Details
check-links -     🔗  N/A See Details

✅  changelog workflow has finished in 2 minutes 14 seconds (5 minutes 57 seconds less than main branch avg.) and finished at 13th Dec, 2022.


Job Failed Steps Tests
changelog -     🔗  N/A See Details

✅  build-and-test workflow has finished in 38 minutes 11 seconds (23 minutes 31 seconds less than main branch avg.) and finished at 13th Dec, 2022. There are 6 test failures.


Job Failed Steps Tests
correctness-traces -     🔗  ✅ 17  ❌ 0  ⏭ 0    🔗 See Details
unittest-matrix (1.19, internal) -     🔗  ✅ 592  ❌ 0  ⏭ 0    🔗 See Details
unittest-matrix (1.18, internal) -     🔗  ✅ 592  ❌ 0  ⏭ 0    🔗 See Details
unittest-matrix (1.18, extension) -     🔗  ✅ 528  ❌ 0  ⏭ 0    🔗 See Details
unittest-matrix (1.19, extension) -     🔗  ✅ 528  ❌ 0  ⏭ 0    🔗 See Details
unittest-matrix (1.19, processor) -     🔗  ✅ 1465  ❌ 0  ⏭ 0    🔗 See Details
unittest-matrix (1.18, receiver-0) -     🔗  ✅ 2533  ❌ 1  ⏭ 0    🔗 See Details
unittest-matrix (1.18, processor) -     🔗  ✅ 1465  ❌ 0  ⏭ 0    🔗 See Details
unittest-matrix (1.19, receiver-0) -     🔗  ✅ 2533  ❌ 1  ⏭ 0    🔗 See Details
unittest-matrix (1.19, exporter) -     🔗  ✅ 2237  ❌ 2  ⏭ 0    🔗 See Details
correctness-metrics -     🔗  ✅ 2  ❌ 0  ⏭ 0    🔗 See Details
unittest-matrix (1.19, receiver-1) -     🔗  ✅ 1854  ❌ 0  ⏭ 0    🔗 See Details
integration-tests -     🔗  ✅ 53  ❌ 0  ⏭ 0    🔗 See Details
unittest-matrix (1.19, other) -     🔗  ✅ 4363  ❌ 0  ⏭ 0    🔗 See Details
unittest-matrix (1.18, other) -     🔗  ✅ 4363  ❌ 0  ⏭ 0    🔗 See Details
unittest-matrix (1.18, exporter) -     🔗  ✅ 2237  ❌ 2  ⏭ 0    🔗 See Details
unittest-matrix (1.18, receiver-1) -     🔗  ✅ 1854  ❌ 0  ⏭ 0    🔗 See Details
setup-environment -     🔗  N/A See Details
check-collector-module-version -     🔗  N/A See Details
check-codeowners -     🔗  N/A See Details
checks -     🔗  N/A See Details
lint-matrix (receiver-0) -     🔗  N/A See Details
lint-matrix (receiver-1) -     🔗  N/A See Details
lint-matrix (processor) -     🔗  N/A See Details
lint-matrix (exporter) -     🔗  N/A See Details
lint-matrix (extension) -     🔗  N/A See Details
lint-matrix (internal) -     🔗  N/A See Details
lint-matrix (other) -     🔗  N/A See Details
build-examples -     🔗  N/A See Details
unittest (1.19) -     🔗  N/A See Details
unittest (1.18) -     🔗  N/A See Details
lint -     🔗  N/A See Details
cross-compile (darwin, amd64) -     🔗  N/A See Details
cross-compile (darwin, arm64) -     🔗  N/A See Details
cross-compile (linux, 386) -     🔗  N/A See Details
cross-compile (linux, amd64) -     🔗  N/A See Details
cross-compile (linux, arm) -     🔗  N/A See Details
cross-compile (linux, arm64) -     🔗  N/A See Details
cross-compile (linux, ppc64le) -     🔗  N/A See Details
cross-compile (windows, 386) -     🔗  N/A See Details
cross-compile (windows, amd64) -     🔗  N/A See Details
build-package (deb) -     🔗  N/A See Details
build-package (rpm) -     🔗  N/A See Details
windows-msi -     🔗  N/A See Details
publish-check -     🔗  N/A See Details
publish-dev -     🔗  N/A See Details
publish-stable -     🔗  N/A See Details

✅  prometheus-compliance-tests workflow has finished in 11 minutes 43 seconds (⚠️ 2 minutes 8 seconds more than main branch avg.) and finished at 13th Dec, 2022.


Job Failed Steps Tests
prometheus-compliance-tests -     🔗  ✅ 21  ❌ 0  ⏭ 0    🔗 See Details

✅  load-tests workflow has finished in 18 minutes 35 seconds and finished at 13th Dec, 2022.


Job Failed Steps Tests
loadtest (TestTraceAttributesProcessor) -     🔗  ✅ 3  ❌ 0  ⏭ 0    🔗 See Details
loadtest (TestMetric10kDPS|TestMetricsFromFile) -     🔗  ✅ 6  ❌ 0  ⏭ 0    🔗 See Details
loadtest (TestMetricResourceProcessor|TestTrace10kSPS) -     🔗  ✅ 12  ❌ 0  ⏭ 0    🔗 See Details
loadtest (TestTraceBallast1kSPSWithAttrs|TestTraceBallast1kSPSAddAttrs) -     🔗  ✅ 10  ❌ 0  ⏭ 0    🔗 See Details
loadtest (TestTraceNoBackend10kSPS|TestTrace1kSPSWithAttrs) -     🔗  ✅ 8  ❌ 0  ⏭ 0    🔗 See Details
setup-environment -     🔗  N/A See Details
loadtest (TestIdleMode) -     🔗  ✅ 1  ❌ 0  ⏭ 0    🔗 See Details
loadtest (TestBallastMemory|TestLog10kDPS) -     🔗  ✅ 19  ❌ 0  ⏭ 0    🔗 See Details

🔎 See details on Foresight

*You can configure Foresight comments in your organization settings page.

@dmitryax
Copy link
Member

dmitryax commented Dec 5, 2022

@harshit-splunk If you look at https://github.com/open-telemetry/opentelemetry-specification/blob/main/specification/logs/semantic_conventions/events.md, I don't think it's semantically correct to populate event.name with k8s resource name. I think it should be pod created, pod removed or something like that.

I think we need to use another resource attribute for setting k8s resource name on. The name probably should be k8s.resource.name or k8s.resource.type. It should be aligned with https://kubernetes.io/docs/reference/using-api/api-concepts/ and OTel conventions

@hvaghani221
Copy link
Member Author

hvaghani221 commented Dec 6, 2022

@dmitryax, using k8s.resource.name makes sense.

Creation/deletion of any resource is only detected when watching the event.

What does Pull/Watch <resource name> from <coma separated namespaces> namespace sounds like for event.name attribute? I think it fairly identifies the event.
For example

  • Pull pods from all namespace
  • Watch events from default namespaces

EDIT:
Adding a namespace to the event name may not be a good idea because there are non-namespaced resources(i.e. node). Although it can be detected if resource is namespaced or not by discovery client.

@hvaghani221
Copy link
Member Author

@dmitryax PTAL

@dmitryax
Copy link
Member

dmitryax commented Dec 13, 2022

I don't think Watch <resource name> from <coma separated namespaces> namespace is a good value for event.name attribute. With the watch, we receive k8s event. So we need to use the actual name of the received event instead. k8sevents receiver use this. Does that work?

Copy link
Member

@dmitryax dmitryax left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

LGTM

@dmitryax dmitryax merged commit 99da2a8 into open-telemetry:main Dec 16, 2022
@hvaghani221 hvaghani221 deleted the k8sobjects branch December 16, 2022 07:51
@plantfansam plantfansam mentioned this pull request Jul 21, 2023
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

Successfully merging this pull request may close these issues.

None yet

3 participants