Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/frgfm/openapm
OpenAPM: ligthweight APM for HTTP FastAPI backend applications
https://github.com/frgfm/openapm
apm backend fastapi http middleware postgres python
Last synced: about 1 month ago
JSON representation
OpenAPM: ligthweight APM for HTTP FastAPI backend applications
- Host: GitHub
- URL: https://github.com/frgfm/openapm
- Owner: frgfm
- License: apache-2.0
- Created: 2024-11-23T14:55:37.000Z (about 2 months ago)
- Default Branch: main
- Last Pushed: 2024-11-29T11:36:41.000Z (about 1 month ago)
- Last Synced: 2024-12-02T19:45:59.890Z (about 1 month ago)
- Topics: apm, backend, fastapi, http, middleware, postgres, python
- Language: Python
- Homepage:
- Size: 43 KB
- Stars: 0
- Watchers: 1
- Forks: 1
- Open Issues: 1
-
Metadata Files:
- Readme: README.md
- Contributing: CONTRIBUTING.md
- Funding: .github/FUNDING.yml
- License: LICENSE
- Code of conduct: CODE_OF_CONDUCT.md
- Citation: CITATION.cff
- Codeowners: .github/CODEOWNERS
- Security: .github/SECURITY.md
Awesome Lists containing this project
README
OpenAPM: ligthweight APM for FastAPI backend applications
Ready-to-use APM backend service and middleware to monitor your FastAPI applications.
## Quick Tour
### Using the middleware
OpenAPM leverages [FastAPI middlewares](https://fastapi.tiangolo.com/tutorial/middleware/#create-a-middleware) and [background tasks](https://fastapi.tiangolo.com/tutorial/background-tasks/) easily retrieve performance information on your HTTP request processing.
You can find more information in the [documentation](https://frgfm.github.io/openapm/middlewares.html), then use it as follows:
```python
# Define your model
from openapm.middlewares import FastAPIMiddleware
from fastapi import FastAPIapp = FastAPI()
app.add_middleware(FastAPIMiddleware(endpoint="https://your-apm-endpoint.com"))
```## Setup
Python 3.11 (or higher) and [pip](https://pip.pypa.io/en/stable/)/[conda](https://docs.conda.io/en/latest/miniconda.html) are required to install OpenAPM.
### Stable release
You can install the last stable release of the package using [pypi](https://pypi.org/project/openapm/) as follows:
```shell
pip install openapm
```### Developer installation
Alternatively, if you wish to use the latest features of the project that haven't made their way to a release yet, you can install the package from source:
```shell
git clone https://github.com/frgfm/openapm.git
pip install -e openapm/.
```## What else
### Documentation
The full package documentation is available [here](https://frgfm.github.io/openapm/) for detailed specifications.
## Citation
If you wish to cite this project, feel free to use this [BibTeX](http://www.bibtex.org/) reference:
```bibtex
@misc{openapm2024,
title={OpenAPM: lightweight APM for FastAPI backend applications},
author={François-Guillaume Fernandez},
year={2024},
month={November},
publisher = {GitHub},
howpublished = {\url{https://github.com/frgfm/openapm}}
}
```## Contributing
Feeling like extending the range of supported backend framework? Or perhaps submitting a new metric capture? Any sort of contribution is greatly appreciated!
You can find a short guide in [`CONTRIBUTING`](CONTRIBUTING.md) to help grow this project!
## License
Distributed under the Apache 2.0 License. See [`LICENSE`](LICENSE) for more information.
[![FOSSA Status](https://app.fossa.com/api/projects/git%2Bgithub.com%2Ffrgfm%2Fopenapm.svg?type=large&issueType=license)](https://app.fossa.com/projects/git%2Bgithub.com%2Ffrgfm%2Fopenapm?ref=badge_large&issueType=license)