* #2483: added read-only option properties for traces and metrics and adjusted them according to spec. when reading it from environment variables + allow Endpoint override
* #2483: fixed text formatting to fulfill build checks
* #2483: removed trailing spaces + try auto properties for successful build
* #2492: can't avoid traces and metrics endpoints adjustment
* #2492: introduced endpoint default constant
* #2483: changed property descriptions
* #2492: Uri instead of string as default for endpoint
* Apply suggestions from code review
- improved descriptions and README for new added properties
Co-authored-by: Joao Grassi <joao@joaograssi.com>
* #2492: initialize internal endpoint variable in constructor instead of property
* #2492: extracted from options and stored export traces uri in export client + fixed unit test
* #2492:
- got rid of traces and metrics endpoints in exporter options as it should be considered along with per-signal env. vars. and out of scope of this issue
- traces and metrics relative paths append logic is located in corresponding AddOtlpExporter methods where call scope is known
* #2492: fixed misspelling
* #2492: fixed tests
* #2492: renaming and rephrasing as suggested in review
* #2492: use helper methods for reading env vars + proper variable naming and improved comments
* #2492: review suggestions + actualized test names
Co-authored-by: Joao Grassi <joao@joaograssi.com>
Co-authored-by: Cijo Thomas <cithomas@microsoft.com>
* 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>