https://github.com/leo-project/savanna_agent
An original agent of `SavannaDB', which is able to easily retrieve metrics and statistics for Erlang's apllications.
https://github.com/leo-project/savanna_agent
Last synced: 2 months ago
JSON representation
An original agent of `SavannaDB', which is able to easily retrieve metrics and statistics for Erlang's apllications.
- Host: GitHub
- URL: https://github.com/leo-project/savanna_agent
- Owner: leo-project
- License: apache-2.0
- Created: 2014-02-06T10:11:40.000Z (about 11 years ago)
- Default Branch: develop
- Last Pushed: 2018-09-22T01:14:15.000Z (over 6 years ago)
- Last Synced: 2024-12-31T03:27:28.353Z (4 months ago)
- Language: Erlang
- Homepage: http://leo-project.net/leofs
- Size: 558 KB
- Stars: 2
- Watchers: 4
- Forks: 2
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- Changelog: CHANGELOG.md
- License: LICENSE
Awesome Lists containing this project
README
savannadb_agent
===============An original agent of `SavannaDB`, which is able to easily retrieve metrics and statistics for Erlang's apllications.
## Usage
```erlang
sample() ->
%% ----------------------------------------------------------
%% Launch an agent
%% ----------------------------------------------------------
ok = savanna_agent:start(ram_copies),
ok = savanna_agent:sync_schemas(['[email protected]',
'[email protected]']),%% ----------------------------------------------------------
%% Create a schema, columns and a metric-group
%% ----------------------------------------------------------
Schema = 'sample',
MetricGroup = 'bucket',
Window = 30,
Col_1 = 'counter_get',
Col_2 = 'length_get',%% Create schema and columns
ok = svc_tbl_schema:insert(#sv_schema{name = SchemaName,
created_at = leo_date:now()}),
ok = svc_tbl_column:insert(#?SV_COLUMN{id = {SchemaName, Col_1},
schema_name = SchemaName,
name = Col_1,
type = ?COL_TYPE_COUNTER,
created_at = leo_date:now()}),
ok = svc_tbl_column:insert(#?SV_COLUMN{id = {SchemaName, Col_2},
schema_name = SchemaName,
name = Col_2,
type = ?COL_TYPE_H_UNIFORM,
constraint = [{?HISTOGRAM_CONS_SAMPLE, 3000}],
created_at = leo_date:now()}),
%% Create a metric-group
ok = savanna_agent:create_metrics(Schema, MetricGroup, Window),%% ----------------------------------------------------------
%% Notify events
%% ----------------------------------------------------------
ok = savanna_agent:notify(MetricGroup, Col_1, 1),
ok = savanna_agent:notify(MetricGroup, Col_2, 16384),
ok = savanna_agent:notify(MetricGroup, Col_2, 262144),
ok = savanna_agent:notify(MetricGroup, Col_2, 524288),
ok.```
## License
savanna_agent's license is [Apache License Version 2.0](http://www.apache.org/licenses/LICENSE-2.0.html)
## Sponsors
LeoProject/LeoFS is sponsored by [Rakuten, Inc.](http://global.rakuten.com/corp/) and supported by [Rakuten Institute of Technology](http://rit.rakuten.co.jp/).