* PoC for coordinating prometheus pull threads.
* Allocation free on .NET Core 3.1+ & locks are now tied to a specific exporter.
* Use CollectionManager in HttpServer. Remove delegate allocation.
* Bug fixes and benchmark updates.
* Configurable cache duration & bug fixes.
* Unit tests and bug fixes.
* More interesting unit test.
* Sealed PrometheusCollectionManager.
* Nits.
* CHANGELOG update.
* Doc tweaks.
* README update.
Co-authored-by: Cijo Thomas <cithomas@microsoft.com>
* prom prototype
* minor refactor
* improve mem
* skeleton of the PrometheusSerializer
* a working server
* clear up test
* specialize netframework
* clean up
* update test
* fix unit test
* minor improvement
* comment
* escape metric names
* handle inf/nan
* minor name change
* nit
* more assertion
* patch for old frameworks
* add comment explaining why we use empty string if the label value is null
* Updated PrometheusExporterMiddleware for new PrometheusSerializer API.
* Added some exception handling.
* Test fix.
Co-authored-by: Mikel Blanchard <mblanchard@macrosssoftware.com>
* Enable StyleCop rules for Test projects
This enables most of the StyleCop for test projects cleaning up any
errors as appropriate.
* Enable StyleCop rules for Test projects
This enables most of the StyleCop for test projects cleaning up any
errors as appropriate.
* Add line break at end of ruleset files
* Correct multi-line parameter after rebase
* Modify Metric to not have generic. Instead create separate classes for long and double
* refactor exporter to extract common code into method
* minor
* Fix prometheus serialization
* Add PushMetricController
* unit test
* Add MeterBuilder and MeterFactory
* adjust tests
* correct prometheus example
* Minors
* small
* Prometheus test
* Fix Prom Middleware test
* few small fixes
* Address comments
* avoid meter to metersdk cast
* one test
* comment
* test fx
* timing adjustment
* minor
* fix Eventname
* avoid unnecessary copy of metric list
* fix trailing spaces etc after merge
Co-authored-by: Mike Goldsmith <goldsmith.mike@gmail.com>
* Adds MinMaxSumCount aggregator. Refactored aggregators to have common interface to emit export record.
* Remove unwanted namespace import
* remove implementation folder which is empty now
* Address PR comments. Add unit test and TODOs
* Address comments.
* add extension methods to register prometheus exporter
- IApplicationBuilder
- WebHostBuilder
* update http and hosting abstractions packages to 2.2.0
* fix web host extensions
* extract metricHttpServer from PrometheusExporter
* remove moq dependency in promethus tests
* remove IApplicationBuilder and IWebHostBuilder prometheus extensions
* revert changes to prometheus csproj
* rename MetricsHttpServer to PrometheusExporterMetricsHttpServer
* add IDisposeable to PrometheusExporterMetricsHttpServer
* refactor PrometheusExporterMetricsHttpServer to not require PromethusOptions as param
* move CancellationToken from constructor to Start method
* check http servere is both not null and listening before calling stop
Co-authored-by: Sergey Kanzhelev <S.Kanzhelev@live.com>
* Add Promethues Exported relying on new Metric, to allow deleting of old Stats files.
* Counter fixes
* Add PrometheusExporter test project
* Nuke the Stats folder completely. Exporters are also deleted and they will be brought back with new metric api.
* Add export and processor with facotry
* fix counterhandle and implement collect in metersdk
* use labelset encoding as key
* add gaugesdk
* creation of GaugeSDK
* Collect Gauges as well
* added a basic test
* test
* add metername
* move aggregator to separate namesace
* Add measure instrument with ExactAggregator
* collect is under lock
* modified prometheus exporter
* rename simpleprocessor to ungrouped batcher
* minor
* small changes
* build fix attempt
* make timespn optional in bacther
* buidl ix
* prom test project update
* few comments addressed
* remove tests
* test sample change duration
* time
* no delay
* Add Promethues Exported relying on new Metric, to allow deleting of old Stats files.
* Counter fixes
* Add PrometheusExporter test project
* Nuke the Stats folder completely. Exporters are also deleted and they will be brought back with new metric api.