Skip to content

feat: add otel span attributes #729

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

Open
wants to merge 3 commits into
base: master
Choose a base branch
from

Conversation

suhyenim
Copy link
Collaborator

@suhyenim suhyenim commented Dec 20, 2024

What this PR does / why we need it:

This PR is a follow-up to PR #706, #722 and implements phase 4 of issue #709.

It enhances instrumentation coverage by adding span attributes and provides more detailed trace information for better observability.

The image below shows the result after running the pod-delete experiment as an example.

screenshot

Which issue this PR fixes (optional, in fixes #<issue number>(, fixes #<issue_number>, ...) format, will close that issue when PR gets merged): fixes #709

Special notes for your reviewer:

Checklist:

  • Fixes #
  • PR messages has document related information
  • Labelled this PR & related issue with breaking-changes tag
  • PR messages has breaking changes related information
  • Labelled this PR & related issue with requires-upgrade tag
  • PR messages has upgrade related information
  • Commit has unit tests
  • Commit has integration tests
  • E2E run Required for the changes

@litmuschaos litmuschaos deleted a comment from xavierW Dec 20, 2024
@suhyenim suhyenim changed the title Add span attribute to enhance instrumentation coverage Add span attributes Dec 20, 2024
@suhyenim suhyenim marked this pull request as draft December 20, 2024 18:42
@suhyenim suhyenim changed the title Add span attributes feat: add span attributes Dec 20, 2024
@suhyenim suhyenim marked this pull request as ready for review March 23, 2025 12:28
@suhyenim suhyenim changed the title feat: add span attributes feat: add otel span attributes Mar 23, 2025
@suhyenim
Copy link
Collaborator Author

suhyenim commented Mar 31, 2025

The span attribute in the PR is created based on two conditions:

  1. A supplementary explanation for the span
  2. The value remains unchanged during the span

The following tables summarize the span attributes:

Experiment, Helper, Probe, Fault
category span attributes
experiment experiment.name, experiment.ramptime
helper helper.name, helper.pod.name, helper.image.name
probe probe.phase, probe.name, probe.type, probe.mode
fault chaos.duration, chaos.interval, chaos.namespace
Kubernetes experiments
category experiment category span attributes
pod fault container-kill container.runtime, kill.signal
disk-fill container.runtime
pod-delete none
pod-autoscaler none
pod-dns-error container.runtime, dns.spoof.map, dns.match.scheme
pod-dns-spoof container.runtime, dns.spoof.map, dns.match.scheme
pod-io-stress container.runtime
pod-cpu-hog container.runtime
pod-memory-hog container.runtime
pod-fio-stress inject.command_line, recover.command_line
pod-cpu-hog-exec inject.command_line, recover.command_line
pod-memory-hog-exec inject.command_line, recover.command_line
pod-network-loss network.interface, tc.image.name(gaiadocker/iproute2)
pod-network-latency network.interface, tc.image.name(gaiadocker/iproute2)
pod-network-corruption network.interface, tc.image.name(gaiadocker/iproute2)
pod-network-duplication network.interface, tc.image.name(gaiadocker/iproute2)
pod-network-partition network.policy.name, network.policy.type
pod-http-latency container.runtime, http.port, proxy.port
pod-http-status-code container.runtime, http.port, proxy.port
pod-http-modify-header container.runtime, http.port, proxy.port
pod-http-modify-body container.runtime, http.port, proxy.port
pod-http-reset-peer container.runtime, http.port, proxy.port
node fault docker-service-kill node.name, node.label
kubelet-service-kill node.name, node.label
node-drain node.name, node.label
node-restart node.name, node.label, node.ip
node-taint node.name, node.label, taint.label
node-cpu-hog node.name, node.label
node-memory-hog node.name, node.label, io.worker.count
node-io-stress node.name, node.label, io.worker.count, vm.worker.count
spring boot fault spring-boot-app-kill cm.port, cm.path
spring-boot-cpu-stress cm.port, cm.path
spring-boot-memory-stress cm.port, cm.path
spring-boot-latency cm.port, cm.path
spring-boot-exceptions cm.port, cm.path
spring-boot-faults cm.port, cm.path
load fault k6-loadgen k6.script
Cloud experiments
category experiment category span attributes
aws fault ec2-stop-by-id aws.ec2.id, aws.region
ec2-stop-by-tag aws.ec2.tag, aws.region
ebs-loss-by-id aws.ebs.id, aws.ebs.tag, aws.region
ebs-loss-by-tag aws.ebs.id, aws.ebs.tag, aws.region
aws-ssm-chaos-by-id aws.ec2.id, aws.ec2.tag, aws.ssm.document, aws.region
aws-ssm-chaos-by-tag aws.ec2.id, aws.ec2.tag, aws.ssm.document, aws.region
gcp fault gcp-vm-disk-loss gcp.project.id, gcp.disk.name, gcp.zone
gcp-vm-disk-loss-by-label gcp.project.id, gcp.disk.label, gcp.zone
gcp-vm-instance-stop gcp.project.id, gcp.vm.name, gcp.zone
gcp-vm-instance-instance-stop-by-label gcp.project.id, gcp.vm.label, gcp.zone
azure fault azure-instance-stop azure.vm.name, azure.resource.group
azure-disk-loss azure.disk.name, azure.resource.group
vmware fault vm-poweroff vmware.vm.id

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.

Backlogs of distributed tracing
2 participants