This is the API for the swag-client account metadata service.
Frontend
- Change directories to the
staticdirectory 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_PLUGINset toTrue. -
In your
module.pyyou will need to write your plugin to subclass theMetricsPluginfound inswag_api/plugins/metrics/__init__.py.The base class has 2 functions that you need to overwrite:
send_counter_metric, andsend_latency_metric. Thecounter_metricis a metric for counting how many times an API is hit. Thelatency_metricis 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__.pyfor an example. -
You can have multiple metrics plugins enabled should you want!
swag-apiwill look for them on startup and initialize them. Feel free to add any initialization code you need in your class's__init__().