graphite events do not work as documented.
- 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
Assessment
This issue has not been assessed yet.