From b82f147b8ba3aa7c20d36e961fe7d478955dd46d Mon Sep 17 00:00:00 2001 From: Sandy Walsh Date: Wed, 4 Mar 2015 09:31:53 -0800 Subject: [PATCH] Added missing docs for streams and added events api docs. Also added support for quick build (does not reinstall everything in .venv) which is useful when you have to hand-tweak a venv for testing. Generally though, it shouldn't be needed. Change-Id: I4b93c8e256f49d16d2b0fa821b37355526885ce8 --- build.sh | 25 +++--- docs/api.html | 215 ++++++++++++++++++++++++++++++++++++++++++++++++++ 2 files changed, 231 insertions(+), 9 deletions(-) diff --git a/build.sh b/build.sh index 5dbccb6..bd9ad1c 100755 --- a/build.sh +++ b/build.sh @@ -5,9 +5,13 @@ echo "StackTach dev env build script" PACKAGE=false TOX=false DEPLOY=false +QUICK=false -while getopts pdt opt; do +while getopts qpdt opt; do case $opt in + q) + QUICK=true + ;; p) PACKAGE=true ;; @@ -90,14 +94,17 @@ pip install librabbitmq # Needed by pyrax: pip install pbr -for file in $SOURCE_DIR/* -do - echo "----------------------- $file ------------------------------" - cd $file - rm -rf build dist - python setup.py install - cd ../.. -done +if [[ "$QUICK" = false || "$PACKAGE" = true ]] +then + for file in $SOURCE_DIR/* + do + echo "----------------------- $file ------------------------------" + cd $file + rm -rf build dist + python setup.py install -f + cd ../.. + done +fi # Hack(sandy): remove msgpack that conflicts with carrot pip uninstall -y msgpack-python diff --git a/docs/api.html b/docs/api.html index 77aac10..14ce2d0 100644 --- a/docs/api.html +++ b/docs/api.html @@ -54,6 +54,7 @@ +

Streams

StackTach.v3 REST API

@@ -471,6 +472,220 @@ curl http://localhost:8000/v1/streams/1?detail=true
+
+
+

GET /v1/streams/count

+
+
+

Retrieves the number of streams matching filter criteria.

+

Date filters use the first_event and last_event attributes on the stream for comparisons.

+

Query filter parameters:

+
    +
  • older_than - returns streams where first_event is older than supplied date (in ISO 8601 format). ie: 01-31-2015T13:30
  • +
  • younger_than - returns streams where last_event is younger than supplied date (in ISO 8601 format). ie: 01-31-2015T13:30
  • +
  • state - returns streams where state is one of:
  • +
      +
    • active
    • +
    • firing
    • +
    • expiring
    • +
    • error
    • +
    • expire_error
    • +
    • completed
    • +
    • retry_fire
    • +
    • retry_expire
    • +
    +
  • trigger_name - returns streams with a specific trigger_name
  • +
  • distinguishing_traits - returns streams with matching distinguishing_traits. Trait format is trait_name:trait_value;trait_name:trait_value
  • +
+ +

Sample return data

+
+curl http://localhost:8000/v1/streams/count 
+
+[23]
+               
+
+
+ +
+
+

DELETE /v1/streams/<stream_id>

+
+
+

Delete stream. Associated events are not deleted. + This assumes purge_completed_streams is False + in your winchester config file.

+
    +
  • stream_id - integer stream id
  • +
+ +

Sample return data

+
+curl -x DELETE http://localhost:8000/v1/streams/123
+               
+
+
+ +
+
+

PUT /v1/streams/<stream_id>

+
+
+

Reset a stream from the error state. Streams in error + state go to retry_fire and expire goes to + retry_expire state.

+
    +
  • stream_id - integer stream id
  • +
+ +

Sample return data

+
+curl -H "X-HTTP-Method-Override: PUT" -X POST http://localhost:8000/v1/streams/123
+               
+
+
+ +

Events

+ +
+
+

GET /v1/events

+
+
+

Retrieves events matching filter criteria.

+

Date filters use the timestamp attribute on the event for comparisons.

+

Query filter parameters:

+
    +
  • from_datetime - returns events where timestamp is greater than supplied date (in ISO 8601 format). ie: 01-31-2015T13:30
  • +
  • to_datetime - returns events where timestamp is less than supplied date (in ISO 8601 format). ie: 01-31-2015T13:30
  • +
  • event_name - returns events with a specific event_name
  • +
  • traits - returns events with matching traits. Trait format is trait_name:trait_value;trait_name:trait_value
  • +
  • mark - returns events starting with event id greater than mark
  • +
  • limit - returns this many events maximum. Default: 200
  • +
+ +

Sample return data

+ +
+curl "http://localhost:8000/v1/events?from_datetime=2015-03-04T22:25&to_datetime=2015-03-04T22:45"
+
+[
+    {
+        "_mark": "280",
+        "disk_gb": 20,
+        "display_name": "Instance_358720",
+        "ephemeral_gb": 0,
+        "event_type": "compute.instance.unrescue.start",
+        "instance_type": "512MB Standard Instance",
+        "launched_at": {
+            "__type__": "datetime",
+            "datetime": "2015-03-04T22:41:40.771441"
+        },
+        "memory_mb": 512,
+        "message_id": "4e38d6aa-8fd3-4f26-9293-b621735ea322",
+        "os_architecture": "x64",
+        "os_distro": "org.centos",
+        "os_version": "6.4",
+        "request_id": "req-a71cc334-926a-45cb-9ca2-3644f143d0ad",
+        "root_gb": 20,
+        "service": "publisher-15829",
+        "state": "rescued",
+        "state_description": "",
+        "tenant_id": "685053",
+        "timestamp": {
+            "__type__": "datetime",
+            "datetime": "2015-03-04T22:33:55.204441"
+        },
+        "user_id": "701363",
+        "vcpus": 1
+    },
+    {
+        "_mark": "27a",
+        "disk_gb": 20,
+        "display_name": "Instance_358720",
+        "ephemeral_gb": 0,
+        "event_type": "compute.instance.update",
+        "instance_flavor": "512MB Standard Instance",
+        "instance_flavor_id": 2,
+        "instance_id": "2fd4d09f-b685-4a80-9b6b-793da76db70e",
+        "instance_type": "512MB Standard Instance",
+        "launched_at": {
+            "__type__": "datetime",
+            "datetime": "2015-03-04T22:41:40.771441"
+        },
+        "memory_mb": 512,
+        "message_id": "b920513c-4dae-474c-b164-71e23349d131",
+        "os_architecture": "x64",
+        "os_distro": "org.centos",
+        "os_version": "6.4",
+        "request_id": "req-a71cc334-926a-45cb-9ca2-3644f143d0ad",
+        "root_gb": 20,
+        "service": "publisher-15829",
+        "state": "rescued",
+        "state_description": "unrescuing",
+        "tenant_id": "685053",
+        "timestamp": {
+            "__type__": "datetime",
+            "datetime": "2015-03-04T22:31:08.131441"
+        },
+        "user_id": "701363",
+        "vcpus": 1
+    }
+]
+
+           
+
+
+ +
+
+

GET /v1/events/<message_id>

+
+
+

Retrieves a single event given the message_id

+ +

Sample return data

+ +
+curl "http://localhost:8000/v1/events/b920513c-4dae-474c-b164-71e23349d131"
+
+[
+    {
+        "disk_gb": 20,
+        "display_name": "Instance_358720",
+        "ephemeral_gb": 0,
+        "event_type": "compute.instance.update",
+        "instance_flavor": "512MB Standard Instance",
+        "instance_flavor_id": 2,
+        "instance_id": "2fd4d09f-b685-4a80-9b6b-793da76db70e",
+        "instance_type": "512MB Standard Instance",
+        "launched_at": {
+            "__type__": "datetime",
+            "datetime": "2015-03-04T22:41:40.771441"
+        },
+        "memory_mb": 512,
+        "message_id": "b920513c-4dae-474c-b164-71e23349d131",
+        "os_architecture": "x64",
+        "os_distro": "org.centos",
+        "os_version": "6.4",
+        "request_id": "req-a71cc334-926a-45cb-9ca2-3644f143d0ad",
+        "root_gb": 20,
+        "service": "publisher-15829",
+        "state": "rescued",
+        "state_description": "unrescuing",
+        "tenant_id": "685053",
+        "timestamp": {
+            "__type__": "datetime",
+            "datetime": "2015-03-04T22:31:08.131441"
+        },
+        "user_id": "701363",
+        "vcpus": 1
+    }
+]
+           
+
+
+