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 <module>
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 <listcomp>
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.
Documented, expected behavior:
Post for each metric
and get values from
datain hunter output.Actual behavior:
This happens because
GraphiteEventthese 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.