This is the API for the swag-client account metadata service.
Frontend
- Change directories to the
static
directory and runnpm install
npm start
Backend
pip install -e .
swag-api run
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__()
.