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

[Azure Monitor Exporter] Add network Statsbeat Metrics #23425

Merged

Conversation

JacksonWeber
Copy link
Member

@JacksonWeber JacksonWeber commented Oct 6, 2022

Packages impacted by this PR

@azure/monitor-opentelemetry-exporter

Issues associated with this PR

Describe the problem that is addressed by this PR

This PR adds exporting of short interval (every 15 minutes) StatsBeat metrics.

Are there test cases added in this PR? (If not, why?)

Yes

Checklists

  • Added impacted package name to the issue description
  • Does this PR needs any fixes in the SDK Generator?** (If so, create an Issue in the Autorest/typescript repository and link it here)
  • Added a changelog (if necessary)

@ghost ghost added the Monitor Monitor, Monitor Ingestion, Monitor Query label Oct 6, 2022
@hectorhdzg hectorhdzg changed the title Jacksonweber/add network statsbeat metrics [Azure Monitor Exporter] Add network Statsbeat Metrics Oct 21, 2022
Copy link
Member

@hectorhdzg hectorhdzg left a comment

Choose a reason for hiding this comment

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

LGTM

@hectorhdzg hectorhdzg merged commit 0d72600 into Azure:main Oct 28, 2022
mpodwysocki pushed a commit that referenced this pull request Nov 2, 2022
* Implement statsbeat state and begin setting up the statsbeatMetrics.

* Stub statsBeat metrics file.

* Add a number of custom features to the network statsbeat and begin defining them.

* Add _getAzureComputeMetadata logic.

* Get successful count using he observable gauge.

* Add the rest of the counts to the statsbeat metrics.

* Update the getAverageDuration method.

* Add statsbeatMetricHandler to manage the meter provider.

* Update the statsbeatMetricsHandler exporter config.

* Converge the statsbeat logic into one file, begin fixing the average request duration logic, and start outlining where statsbeat changes need to be made in the base exporter.

* Fix issues with statsbeat connection and setup.

* Add duration counting on success and failure requests.

* Make batched observable results in Statsbeat.

* Testing begin.

* Remove isStatsbeat being user configurable.

* Fix typo.

* Address code review comments.

* Remove intentionally broken test.

* Fix dependencies issues and format

* WIP

* WIP

* Manage the isStatsbeatExporter state in the baseExpoerter properly.

* WIP

* Update statsbeat names.

* Revert pnpm-lock.yaml file.

* Fix tests

* Fix how attributes are created and how EU endpoints are set.

* Add statsbeat tests.

* Fix package.json file.

* Continue work on tests.

* Write all non-AzureVM tests.

* Save progress on attempt to fix the Azure VM test.

* Fix Azure VM http call.

* Fix test for AzureVM.

* Remove comments.

* Clean up further comments.

* Update changelog.

* Remove unneded sinon import.

* Fix sinon types import.

* Fix import build issues.

* Update sdk/monitor/monitor-opentelemetry-exporter/CHANGELOG.md

Co-authored-by: Hector Hernandez <[email protected]>

* Fix lint issues.

* Address initial code review comments.

* Clean up and optimize statsbeat metrics collection logic.

* Update statsbeat logic to reduce checks and improve efficiency.

* Fix format.

* Remove last of unnecessary check.

* Create statsbeatExporter to replace use of metricExporter for statsbeat.

* Improve statsbeat metric exporting logic, handle legacy statusCodes, and document statsbeatExporter.

* Fix formatting.

Co-authored-by: Hector Hernandez <[email protected]>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Monitor Monitor, Monitor Ingestion, Monitor Query
Projects
None yet
Development

Successfully merging this pull request may close these issues.

2 participants