apache / apache/otava

graphite events do not work as documented.

Open
#24 1 comment 1 reaction 1 assignee Claimed by @sarthaksin1857 View on GitHub
Dominant language
Python
Stars
177
Forks
35
Avg merge
3d 16h
Merged PRs (30d)
6

Description

Documented, expected behavior:

Post for each metric
```
$ curl -X POST "http://graphite_address/events/" \
-d '{
"what": "Performance Test",
"tags": ["perf-test", "daily", "my-product"],
"when": 1537884100,
"data": {"commit": "fe6583ab", "branch": "new-feature", "version": "0.0.1"}
}'
```

and get values from `data` in hunter output.

Actual behavior:

```
$ hunter analyze my-product.test --since=-10m
Fetching data from Graphite...
Traceback (most recent call last):
File "/srv/hunter/bin/hunter", line 6, in
sys.exit(main())
File "/srv/hunter/hunter/main.py", line 501, in main
script_main(conf)
File "/srv/hunter/hunter/main.py", line 602, in script_main
analyzed_series = hunter.analyze(
File "/srv/hunter/hunter/main.py", line 102, in analyze
series = importer.fetch_data(test, selector)
File "/srv/hunter/hunter/importer.py", line 135, in fetch_data
events = self.graphite.fetch_events(
File "/srv/hunter/hunter/graphite.py", line 163, in fetch_events
return [
File "/srv/hunter/hunter/graphite.py", line 164, in
GraphiteEvent(event.get("when"), **ast.literal_eval(event.get("data")))
TypeError: __init__() missing 6 required positional arguments: 'test_owner', 'test_name', 'run_id', 'status', 'start_time', and 'end_time'
```

This happens because `GraphiteEvent` these keys - 'test_owner', 'test_name', 'run_id', 'status', 'start_time', and 'end_time' - are mandatory.

We should adjust README and, in addition, make these fields optional.

Contributor guide

Open the contributing guide

Assessment

This issue has not been assessed yet.

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.