diff --git a/.github/workflows/jekyll-gh-pages.yml b/.github/workflows/jekyll-gh-pages.yml index 72fff52..0ebd768 100644 --- a/.github/workflows/jekyll-gh-pages.yml +++ b/.github/workflows/jekyll-gh-pages.yml @@ -33,7 +33,7 @@ jobs: - name: Build with Jekyll uses: actions/jekyll-build-pages@v1 with: - source: ./docs/ + source: ./ destination: ./_site - name: Upload artifact uses: actions/upload-pages-artifact@v3 diff --git a/README.md b/README.md index 43289ef..db44f31 100644 --- a/README.md +++ b/README.md @@ -46,8 +46,7 @@ $counter->incBy(3, ['type' => 'blue']); // ...or add some more default labels to the counter, creating a new counter: $newCounter = $counter->addLabels(['someOtherLabel' => 'someOtherDefaultValue']); assert($newCounter !== $counter); // true -$counter->incBy(3, ['type' => 'blue']); - +$newCounter->incBy(3, ['type' => 'blue']); // Gauges can also be used diff --git a/docs/docs/danog/BetterPrometheus/BetterCollector.md b/docs/danog/BetterPrometheus/BetterCollector.md similarity index 100% rename from docs/docs/danog/BetterPrometheus/BetterCollector.md rename to docs/danog/BetterPrometheus/BetterCollector.md diff --git a/docs/docs/danog/BetterPrometheus/BetterCollectorRegistry.md b/docs/danog/BetterPrometheus/BetterCollectorRegistry.md similarity index 100% rename from docs/docs/danog/BetterPrometheus/BetterCollectorRegistry.md rename to docs/danog/BetterPrometheus/BetterCollectorRegistry.md diff --git a/docs/docs/danog/BetterPrometheus/BetterCounter.md b/docs/danog/BetterPrometheus/BetterCounter.md similarity index 100% rename from docs/docs/danog/BetterPrometheus/BetterCounter.md rename to docs/danog/BetterPrometheus/BetterCounter.md diff --git a/docs/docs/danog/BetterPrometheus/BetterGauge.md b/docs/danog/BetterPrometheus/BetterGauge.md similarity index 100% rename from docs/docs/danog/BetterPrometheus/BetterGauge.md rename to docs/danog/BetterPrometheus/BetterGauge.md diff --git a/docs/docs/danog/BetterPrometheus/BetterHistogram.md b/docs/danog/BetterPrometheus/BetterHistogram.md similarity index 100% rename from docs/docs/danog/BetterPrometheus/BetterHistogram.md rename to docs/danog/BetterPrometheus/BetterHistogram.md diff --git a/docs/docs/danog/BetterPrometheus/BetterSummary.md b/docs/danog/BetterPrometheus/BetterSummary.md similarity index 100% rename from docs/docs/danog/BetterPrometheus/BetterSummary.md rename to docs/danog/BetterPrometheus/BetterSummary.md diff --git a/docs/docs/index.md b/docs/docs/index.md deleted file mode 100644 index e7c556a..0000000 --- a/docs/docs/index.md +++ /dev/null @@ -1,25 +0,0 @@ ---- -description: "A better Prometheus library for PHP applications" -title: "danog/better-prometheus" - ---- -# `danog/better-prometheus` - -A better Prometheus library for PHP applications - - - -## Abstract classes -* [\danog\BetterPrometheus\BetterCollector: A better prometheus collector.](danog/BetterPrometheus/BetterCollector.md) - -## Classes -* [\danog\BetterPrometheus\BetterCollectorRegistry](danog/BetterPrometheus/BetterCollectorRegistry.md) -* [\danog\BetterPrometheus\BetterCounter: A better prometheus counter.](danog/BetterPrometheus/BetterCounter.md) -* [\danog\BetterPrometheus\BetterGauge: A better prometheus gauge.](danog/BetterPrometheus/BetterGauge.md) -* [\danog\BetterPrometheus\BetterHistogram: A better prometheus histogram.](danog/BetterPrometheus/BetterHistogram.md) -* [\danog\BetterPrometheus\BetterSummary: A better prometheus summary.](danog/BetterPrometheus/BetterSummary.md) - - - ---- -Generated by [danog/phpdoc](https://phpdoc.daniil.it). \ No newline at end of file diff --git a/docs/index.md b/docs/index.md index 43289ef..e7c556a 100644 --- a/docs/index.md +++ b/docs/index.md @@ -1,90 +1,25 @@ -# better-prometheus +--- +description: "A better Prometheus library for PHP applications" +title: "danog/better-prometheus" -[![Psalm coverage](https://shepherd.dev/github/danog/better-prometheus/coverage.svg)](https://shepherd.dev/github/danog/better-prometheus) -[![Psalm level 1](https://shepherd.dev/github/danog/better-prometheus/level.svg)](https://shepherd.dev/github/danog/better-prometheus) -![License](https://img.shields.io/github/license/danog/better-prometheus?v) +--- +# `danog/better-prometheus` -A better Prometheus library for PHP applications. - -Offers a modern, clean PHP 8.1 API, with support for **default label values**, based on and compatible with the original `promphp/prometheus_client_php` library. - -## Installation - -```bash -composer require danog/better-prometheus -``` - -## Usage - -```php - values, not just keys. -$counter = $registry->getOrRegisterCounter( - 'test', - 'some_counter', - 'it increases', - // Note: these are default label key+values, they will be sent verbatim, no changes - ['someLabel' => 'defaultValue'] -); - -// Specify some additional labels post-construction like this (both keys and values)... -$counter->incBy(3, ['type' => 'blue']); - -// ...or add some more default labels to the counter, creating a new counter: -$newCounter = $counter->addLabels(['someOtherLabel' => 'someOtherDefaultValue']); -assert($newCounter !== $counter); // true -$counter->incBy(3, ['type' => 'blue']); +A better Prometheus library for PHP applications -// Gauges can also be used -$gauge = $registry->getOrRegisterGauge( - 'test', - 'some_gauge', - 'it sets', - ['someLabel' => 'defaultValue'] -); -$gauge->set(2.5, ['type' => 'blue']); +## Abstract classes +* [\danog\BetterPrometheus\BetterCollector: A better prometheus collector.](danog/BetterPrometheus/BetterCollector.md) + +## Classes +* [\danog\BetterPrometheus\BetterCollectorRegistry](danog/BetterPrometheus/BetterCollectorRegistry.md) +* [\danog\BetterPrometheus\BetterCounter: A better prometheus counter.](danog/BetterPrometheus/BetterCounter.md) +* [\danog\BetterPrometheus\BetterGauge: A better prometheus gauge.](danog/BetterPrometheus/BetterGauge.md) +* [\danog\BetterPrometheus\BetterHistogram: A better prometheus histogram.](danog/BetterPrometheus/BetterHistogram.md) +* [\danog\BetterPrometheus\BetterSummary: A better prometheus summary.](danog/BetterPrometheus/BetterSummary.md) -// As well as histograms -$histogram = $registry->getOrRegisterHistogram( - 'test', - 'some_histogram', - 'it observes', - ['someLabel' => 'defaultValue'], - // [0.1, 1, 2, 3.5, 4, 5, 6, 7, 8, 9] -); -$histogram->observe(3.5, ['type' => 'blue']); - - -// And suummaries -$summary = $registry->getOrRegisterSummary( - 'test', - 'some_summary', - 'it observes a sliding window', - ['someLabel' => 'defaultValue'], - // 84600, - // [0.01, 0.05, 0.5, 0.95, 0.99] -); - -$summary->observe(5, ['type' => 'blue']); -``` - -## API documentation - -See [here »](https://daniil.it/better-prometheus/docs/) for the full API documentation. \ No newline at end of file +--- +Generated by [danog/phpdoc](https://phpdoc.daniil.it). \ No newline at end of file diff --git a/examples/1-all.php b/examples/1-all.php new file mode 100644 index 0000000..fddc3ce --- /dev/null +++ b/examples/1-all.php @@ -0,0 +1,66 @@ + values, not just keys. +$counter = $registry->getOrRegisterCounter( + 'test', + 'some_counter', + 'it increases', + // Note: these are default label key+values, they will be sent verbatim, no changes + ['someLabel' => 'defaultValue'] +); + +// Specify some additional labels post-construction like this (both keys and values)... +$counter->incBy(3, ['type' => 'blue']); + +// ...or add some more default labels to the counter, creating a new counter: +$newCounter = $counter->addLabels(['someOtherLabel' => 'someOtherDefaultValue']); +assert($newCounter !== $counter); // true +$newCounter->incBy(3, ['type' => 'blue']); + + + +// Gauges can also be used +$gauge = $registry->getOrRegisterGauge( + 'test', + 'some_gauge', + 'it sets', + ['someLabel' => 'defaultValue'] +); +$gauge->set(2.5, ['type' => 'blue']); + + + +// As well as histograms +$histogram = $registry->getOrRegisterHistogram( + 'test', + 'some_histogram', + 'it observes', + ['someLabel' => 'defaultValue'], + // [0.1, 1, 2, 3.5, 4, 5, 6, 7, 8, 9] +); +$histogram->observe(3.5, ['type' => 'blue']); + + +// And suummaries +$summary = $registry->getOrRegisterSummary( + 'test', + 'some_summary', + 'it observes a sliding window', + ['someLabel' => 'defaultValue'], + // 84600, + // [0.01, 0.05, 0.5, 0.95, 0.99] +); + +$summary->observe(5, ['type' => 'blue']);