* Add metrics server endpoint
* Setup metrics subscriber
* `MetricsSubscriber` as context manager
* Fix lint issues
* `--enable-metrics` flag which setup Metrics subscriber, collector and web endpoint
* Use file storage based mechanism to share internal metrics with prometheus exporter endpoint
* Lint fixes
* Move `_setup_metrics_directory` within subscriber which only run once
* Use global `metrics_lock` via flags
* Remove top-level imports for prometheus_client
* Add `requirements-metrics.txt`
* [pre-commit.ci] auto fixes from pre-commit.com hooks
for more information, see https://pre-commit.ci
* Fix typo in makefile
* Fix typo
* fix type, lint, flake issues
* Remove event queue prop
* Fix typo
* Give any role to `proxy.http.server.metrics.get_collector`
* rtype
* `emit_request_complete` for web servers
* Fix doc issues
* Refactor
* [pre-commit.ci] auto fixes from pre-commit.com hooks
for more information, see https://pre-commit.ci
* Rename metrics to start with proxypy_work_
* Startup `MetricsEventSubscriber` as part of proxy
---------
Co-authored-by: pre-commit-ci[bot] <66853113+pre-commit-ci[bot]@users.noreply.github.com>
* Use www.google.com for http2 tests
* Update README.md
Add missing tutorial's link
(cherry picked from commit e459f932cd)
* [pre-commit.ci] auto fixes from pre-commit.com hooks
for more information, see https://pre-commit.ci
* System packages for readthedocs
* Pin pyyaml, see https://github.com/yaml/pyyaml/issues/724\#issuecomment-1638587228
* [pre-commit.ci] auto fixes from pre-commit.com hooks
for more information, see https://pre-commit.ci
* Ignore flake8 S507
* precommit `pyyaml==5.3.1`
* follow https://github.com/yaml/pyyaml/issues/724
* pin to essentials_openapi==0.1.4 for blacksheep
* [pre-commit.ci] auto fixes from pre-commit.com hooks
for more information, see https://pre-commit.ci
* Remove blacksheep dep
* remove system_packages
* [pre-commit.ci] auto fixes from pre-commit.com hooks
for more information, see https://pre-commit.ci
* Check if tox upgrade helps with `ERROR: FAIL could not package project ` tox related issues
* Fix links
* [pre-commit.ci] auto fixes from pre-commit.com hooks
for more information, see https://pre-commit.ci
* Use `importlib.metadata` instead of `pkg_resources`
* [pre-commit.ci] auto fixes from pre-commit.com hooks
for more information, see https://pre-commit.ci
* Just remove link from plugin docstring for now
* [pre-commit.ci] auto fixes from pre-commit.com hooks
for more information, see https://pre-commit.ci
* pin `sphinxcontrib-applehelp==1.0.2` which is breaking spellcheck
* [pre-commit.ci] auto fixes from pre-commit.com hooks
for more information, see https://pre-commit.ci
* Pin `sphinxcontrib-*`
* [pre-commit.ci] auto fixes from pre-commit.com hooks
for more information, see https://pre-commit.ci
* pin `towncrier` too
* add kwargs as a spelling
* `_get_dist` backward compatible with 3.6
* Use `httpbingo.org` instead of `httpbin.org` in tests making network requests
* [pre-commit.ci] auto fixes from pre-commit.com hooks
for more information, see https://pre-commit.ci
* Use `httpbingo` for reverse proxy plugin too which is tested in workflows
* [pre-commit.ci] auto fixes from pre-commit.com hooks
for more information, see https://pre-commit.ci
* `importlib-metadata; python_version <= 3.7`
* [pre-commit.ci] auto fixes from pre-commit.com hooks
for more information, see https://pre-commit.ci
* Integration test changes due to usage of httpbingo instead of httpbin
* `importlib-metadata; python_version <= 3.7` moved to build essentials and bypass reverse proxy integration test result verification for now
* Filter and ignore `DeprecationWarning` to make it work on 3.7
* [pre-commit.ci] auto fixes from pre-commit.com hooks
for more information, see https://pre-commit.ci
* with deprecation ignore we dont need `importlib-metadata`
---------
Co-authored-by: Wermeille Bastien <bastien.wermeille@gmail.com>
Co-authored-by: pre-commit-ci[bot] <66853113+pre-commit-ci[bot]@users.noreply.github.com>