API service for SWAG data
Project description
swag-api
This is the API for the swag-client account metadata service.
Quickstart
Frontend
- Change directories to the
static
directory and runnpm install
npm start
Backend
pip install -e .
swag-api run
Metrics Plugins
To create a custom metrics plugin, you will need to do the following:
-
Create the following directory structure under
swag_api/plugins/metrics
:swag_api/plugins/metrics/ ├── ... └── your_plugin_here ├── __init__.py └── module.py
-
A sample plugin is provided in
swag_api/plugins/metrics/sample
. You can enable the sample plugin by setting the Flask configurationENABLE_SAMPLE_METRICS_PLUGIN
set toTrue
. -
In your
module.py
you will need to write your plugin to subclass theMetricsPlugin
found inswag_api/plugins/metrics/__init__.py
.The base class has 2 functions that you need to overwrite:
send_counter_metric
, andsend_latency_metric
. Thecounter_metric
is a metric for counting how many times an API is hit. Thelatency_metric
is used to gauge the total time it takes to process a given API call. -
Once you have implemented the
module.py
, in your package's__init__.py
, you will need to import your pluginas MetricsPlugin
. See the sample plugin's__init__.py
for an example. -
You can have multiple metrics plugins enabled should you want!
swag-api
will look for them on startup and initialize them. Feel free to add any initialization code you need in your class's__init__()
.
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
File details
Details for the file swag-api-0.0.1.tar.gz
.
File metadata
- Download URL: swag-api-0.0.1.tar.gz
- Upload date:
- Size: 18.2 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/3.1.1 pkginfo/1.5.0.1 requests/2.23.0 setuptools/41.2.0 requests-toolbelt/0.9.1 tqdm/4.46.0 CPython/3.7.5
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | e0090f52142df6c2aab00dc3b741a16666f3017b945b9cd427b5eea902096112 |
|
MD5 | ae26b731ef88dde3e65f75bc4d6c109a |
|
BLAKE2b-256 | 40ddab4f07c7453e0fe753e2bf0c94945d0f3f5b1143e2e30a6851166e97ac7f |