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

Switch SAPM receiver to internal data model #186

Conversation

dmitryax
Copy link
Member

No description provided.

@dmitryax
Copy link
Member Author

@tigrannajaryan please take a look

Copy link
Member

@tigrannajaryan tigrannajaryan left a comment

Choose a reason for hiding this comment

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

Please post before/after perf test results once we have both receiver and exporter merged.

@dmitryax
Copy link
Member Author

dmitryax commented Apr 24, 2020

Performance degraded because we introduced OTLP translation additionally to OC. Once exporter is migrated it should be improved. Test results:

Before:

Test                                    |Result|Duration|CPU Avg%|CPU Max%|RAM Avg MiB|RAM Max MiB|Sent Items|Received Items|
----------------------------------------|------|-------:|-------:|-------:|----------:|----------:|---------:|-------------:|
Trace10kSPS/SAPM                        |PASS  |     15s|    26.8|    27.7|         44|         55|    150000|        150000|

After:

Test                                    |Result|Duration|CPU Avg%|CPU Max%|RAM Avg MiB|RAM Max MiB|Sent Items|Received Items|
----------------------------------------|------|-------:|-------:|-------:|----------:|----------:|---------:|-------------:|
Trace10kSPS/SAPM                        |PASS  |     15s|    29.0|    30.0|         52|         64|    149000|        149000|

Copy link
Contributor

@pjanotti pjanotti left a comment

Choose a reason for hiding this comment

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

LGTM

@pjanotti pjanotti merged commit e6a3986 into open-telemetry:master Apr 24, 2020
@tigrannajaryan
Copy link
Member

Performance degraded because we introduced OTLP translation additionally to OC. Once exporter is migrated it should be improved. Test results:

@dmitryax makes sense. Let's see where we land after migrating the exporter. It will be useful to compare "before" results from this PR to "after" results when exporter is also migrated.

wyTrivail referenced this pull request in mxiamxia/opentelemetry-collector-contrib Jul 13, 2020
mxiamxia referenced this pull request in mxiamxia/opentelemetry-collector-contrib Jul 22, 2020
* Implement factory and config for sampling processor (head-based)

* Change Config name
@dmitryax dmitryax deleted the feature/dmitryax/switch-sapm-receiver-to-internal branch September 29, 2020 22:46
bogdandrutu pushed a commit that referenced this pull request May 12, 2022
* Fix defaultoutput

* Implement PR feedback
straussb added a commit to straussb/opentelemetry-collector-contrib that referenced this pull request Mar 29, 2024
…ightreceiver. (open-telemetry#186)

* Add Elastic Fabric Adapter (EFA) metric collection to awscontainerinsightreceiver.

The new component scrapes hardware counters from /sys/class/infiniband on disk.  The layout of that directory is:

/sys/class/infiniband/<device name>
└── ports
    └── 1
        └── hw_counters
            ├── rdma_read_bytes
            ├── rdma_write_bytes
            ├── rdma_write_recv_bytes
            ├── rx_bytes
            ├── rx_drops
            └── tx_bytes

These are cumulative counters and so they are converted to deltas before sending down the pipeline.
We sum up data from all ports.

The device data is joined with data from the kubelet podresources API which tells us which container a given device is
assigned to.

The metrics are reported at container, pod, and node levels.

This commit also refactors some metric decoration code from cadvisor to a common localnode decorator, intended to be
used by any awscontainerinsightreceiver component that gathers metrics from the local node (as oppoosed to e.g. the k8s
control plane scraper).  This is because we want to share the logic of populating PodName, Kubernetes labels, etc.

I also renamed RawContainerInsightsMetric to CIMetricImpl for brevity.
straussb added a commit to straussb/opentelemetry-collector-contrib that referenced this pull request Mar 29, 2024
…ainerinsightreceiver. (open-telemetry#186)"

This reverts commit eed8454.

Unit tests are failing in the repo.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

None yet

3 participants