Skip to main content
Join the official Python Developers Survey 2018 and win valuable prizes: Start the survey!

StackTach.v3 Client

Project description

klugman
=======

Python library and cmdline tools for accessing Quincy.

Using Klugman as a client library:

```
from klugman import v1

# NOTE: include version number in URL!
events = v1.Events('http://www.example.com:8000/v1')
data = events.get_events_count(name='compute.instance.update')

streams = v1.Streams('http://www.example.com:8000/v1')
data = streams.get_streams(state='completed', details=True)
```

Command-line Examples:

```
$ klugman http://127.0.0.1 streams -h
usage: klugman url streams [-h] [--name trigger_name] [--from datetime]
[--to datetime] [--traits trait_list] [--details]
[--state {active,firing,expiring,error,expire_error,completed,retry_fire,retry_expire}]
[--count | --id stream_id]

optional arguments:
-h, --help show this help message and exit
--name trigger_name Return streams of type trigger_name.
--from datetime Return streams last updated after datetime
--to datetime Return streams last updated before datetime
--traits trait_list Return streams with specific distinguishing traits.
--details Return full event details.
--state {active,firing,expiring,error,expire_error,completed,retry_fire,retry_expire}
Only return streams in this state.
--count Return a count of streams matching filter criteria.
--id stream_id Return a single specific stream by id.

$ klugman http://stacktach3-api01.example.com:8000 streams --count
+----------+-------+
| Property | Value |
+----------+-------+
| count | 44216 |
+----------+-------+

$ klugman http://stacktach3-api01.example.com:8000 streams --count --state completed
+----------+-------+
| Property | Value |
+----------+-------+
| count | 42571 |
+----------+-------+


$ klugman http://stacktach3-api01.example.com:8000 streams
+---------+------------------+---------------------------------------------------------------------------------------------+
| Section | Property | Value |
+---------+------------------+---------------------------------------------------------------------------------------------+
| Stream | id | 44171 |
| Stream | state | active |
| Stream | name | test_trigger |
| Stream | first_event | 2015-04-22 21:06:09.400561 |
| Stream | last_event | 2015-04-22 21:07:17.317974 |
| Stream | fire_timestamp | None |
| Stream | expire_timestamp | 2015-04-24 21:07:17.317974 |
| D.Trait | instance_id | 3ed27346-5906-4790-9b6e-e095e5b0cfa4 |
| D.Trait | timestamp | TimeRange from datetime.datetime(2015, 4, 22, 0, 0) to datetime.datetime(2015, 4, 23, 0, 0) |
+---------+------------------+---------------------------------------------------------------------------------------------+

$ klugman http://stacktach3-api01.example.com:8000 streams --id 44171 --detail
+---------+------------------+---------------------------------------------------------------------------------------------+
| Section | Property | Value |
+---------+------------------+---------------------------------------------------------------------------------------------+
| Stream | id | 44171 |
| Stream | state | active |
| Stream | name | test_trigger |
| Stream | first_event | 2015-04-22 21:06:09.400561 |
| Stream | last_event | 2015-04-22 21:15:05.962515 |
| Stream | fire_timestamp | None |
| Stream | expire_timestamp | 2015-04-24 21:15:05.962515 |
| D.Trait | instance_id | 3ed12384-5906-4790-9b6e-e095e5b0cfa4 |
| D.Trait | timestamp | TimeRange from datetime.datetime(2015, 4, 22, 0, 0) to datetime.datetime(2015, 4, 23, 0, 0) |
+---------+------------------+---------------------------------------------------------------------------------------------+
Events:
+--------------------+------------------------------------------+
| Property | Value |
+--------------------+------------------------------------------+
| disk_gb | 40 |
| display_name | my_ubuntu1404 |
| ephemeral_gb | 0 |
| event_type | compute.instance.update |
| host | nova-api05.example.com |
| instance_flavor | 1GB Standard Instance |
| instance_flavor_id | 3 |
| instance_id | 3ed23782-5906-4790-9b6e-e095e5b0cfa4 |
| instance_type | 1GB Standard Instance |
| memory_mb | 1024 |
| message_id | a58e25ed-01f3-42d8-8979-5f1603ab2468 |
| os_architecture | x64 |
| os_distro | com.ubuntu |
| os_version | 14.04 |
| request_id | req-758de1f9-03e9-4337-af7d-d9efe3efc730 |
| root_gb | 40 |
| service | api |
| state | building |
| state_description | scheduling |
| tenant_id | 1234 |
| timestamp | 2015-04-22 21:06:09.400561 |
| user_id | 4567 |
| vcpus | 1 |
+--------------------+------------------------------------------+
+--------------------+------------------------------------------+
| Property | Value |
+--------------------+------------------------------------------+
| disk_gb | 40 |
| display_name | my_ubuntu1404 |
| ephemeral_gb | 0 |
| event_type | compute.instance.update |
| host | c-88-77-44-2 |
| instance_flavor | 1GB Standard Instance |
| instance_flavor_id | 3 |
| instance_id | 3ed23782-5906-4790-9b6e-e095e5b0cfa4 |
| instance_type | 1GB Standard Instance |
| memory_mb | 1024 |
| message_id | dbb6a5c0-08b8-45c8-85b4-a77b2b876bc3 |
| os_architecture | x64 |
| os_distro | com.ubuntu |
| os_version | 14.04 |
| request_id | req-758de1f9-03e9-4337-af7d-d9efe3efc730 |
| root_gb | 40 |
| service | None |
| state | building |
| state_description | |
| tenant_id | 1234 |
| timestamp | 2015-04-22 21:06:09.888688 |
| user_id | 4567 |
| vcpus | 1 |
+--------------------+------------------------------------------+


$ klugman http://stacktach3-api01.example.com:8000 streams --traits instance_id:633fe23b-7c6a-dead-beef-55fcc6803cbc
+---------+------------------+---------------------------------------------------------------------------------------------+
| Section | Property | Value |
+---------+------------------+---------------------------------------------------------------------------------------------+
| Stream | id | 43993 |
| Stream | state | active |
| Stream | name | test_trigger |
| Stream | first_event | 2015-04-22 18:21:28.462931 |
| Stream | last_event | 2015-04-22 18:21:28.462931 |
| Stream | fire_timestamp | None |
| Stream | expire_timestamp | 2015-04-24 18:21:28.462931 |
| D.Trait | instance_id | 633fe23b-7c6a-dead-beef-55fcc6803cbc |
| D.Trait | timestamp | TimeRange from datetime.datetime(2015, 4, 22, 0, 0) to datetime.datetime(2015, 4, 23, 0, 0) |
+---------+------------------+---------------------------------------------------------------------------------------------+
+---------+------------------+---------------------------------------------------------------------------------------------+
| Section | Property | Value |
+---------+------------------+---------------------------------------------------------------------------------------------+
| Stream | id | 43992 |
| Stream | state | active |
| Stream | name | test_trigger |
| Stream | first_event | 2015-04-22 18:21:27.905027 |
| Stream | last_event | 2015-04-22 18:24:18.985118 |
| Stream | fire_timestamp | None |
| Stream | expire_timestamp | 2015-04-24 18:24:18.985118 |
| D.Trait | instance_id | 633fe23b-7c6a-dead-beef-55fcc6803cbc |
| D.Trait | timestamp | TimeRange from datetime.datetime(2015, 4, 22, 0, 0) to datetime.datetime(2015, 4, 23, 0, 0) |
+---------+------------------+---------------------------------------------------------------------------------------------+

$ klugman http://stacktach3-api01.example.com:8000 streams --state completed
+---------+------------------+---------------------------------------------------------------------------------------------+
| Section | Property | Value |
+---------+------------------+---------------------------------------------------------------------------------------------+
| Stream | id | 43498 |
| Stream | state | completed |
| Stream | name | test_trigger |
| Stream | first_event | 2015-04-20 00:00:18.740466 |
| Stream | last_event | 2015-04-20 00:00:18.740466 |
| Stream | fire_timestamp | 2015-04-22 11:53:37.441695 |
| Stream | expire_timestamp | 2015-04-22 00:00:18.740466 |
| D.Trait | instance_id | 7080633a-ffa3-dead-beef-d1549b4ac049 |
| D.Trait | timestamp | TimeRange from datetime.datetime(2015, 4, 19, 0, 0) to datetime.datetime(2015, 4, 20, 0, 0) |
+---------+------------------+---------------------------------------------------------------------------------------------+

$ klugman http://127.0.0.1 events -h
usage: klugman url events [-h] [--name event_name] [--from datetime]
[--to datetime] [--traits trait_list]
[--count | --msg_id message_id]

optional arguments:
-h, --help show this help message and exit
--name event_name Return events of type event_name.
--from datetime Return events generated before datetime
--to datetime Return events generated after datetime
--traits trait_list Return events with specific traits.
--count Return a count of events matching filter criteria.
--msg_id message_id Return a single specific event by message id.


$ klugman http://stacktach3-api01.example.com:8000 events
+--------------------+------------------------------------------+
| Property | Value |
+--------------------+------------------------------------------+
| _mark | 6544b |
| disk_gb | 80 |
| display_name | My_Display_Name |
| ephemeral_gb | 0 |
| event_type | compute.instance.update |
| host | c-11-22-33-4 |
| instance_flavor | 2GB Standard Instance |
| instance_flavor_id | 4 |
| instance_id | 85240caf-71cf-dead-beef-6735298e6090 |
| instance_type | 2GB Standard Instance |
| memory_mb | 2048 |
| message_id | c49d08be-dae5-4740-8f04-fb4cc27ac2fa |
| os_architecture | x64 |
| os_distro | org.centos |
| os_version | 7 |
| request_id | req-16b4995e-8a14-4b25-bd1c-ba68e82773f7 |
| root_gb | 80 |
| service | None |
| state | building |
| state_description | spawning |
| tenant_id | 725 |
| timestamp | 2015-04-22 21:43:29.940846 |
| user_id | 945 |
| vcpus | 2 |
+--------------------+------------------------------------------+


$ klugman http://stacktach3-api01.example.com:8000 events --name compute.instance.create.end
+--------------------+------------------------------------------+
| Property | Value |
+--------------------+------------------------------------------+
| _mark | 6547e |
| disk_gb | 80 |
| display_name | My_Display_Name |
| ephemeral_gb | 0 |
| event_type | compute.instance.create.end |
| host | c-11-22-33-4 |
| instance_flavor | 2GB Standard Instance |
| instance_flavor_id | 4 |
| instance_id | 0c30d4be-409d-dead-beef-6d8a3744e80f |
| instance_type | 2GB Standard Instance |
| launched_at | 2015-04-22 21:46:04 |
| memory_mb | 2048 |
| message | Success |
| message_id | 51bd735f-9817-4940-9826-5b057bf51f70 |
| os_architecture | x64 |
| os_distro | com.microsoft.server |
| os_version | 2012.0 |
| rax_options | 4 |
| request_id | req-108e129d-49fd-1213-8e93-3f5595fd4d6c |
| root_gb | 80 |
| service | compute |
| state | active |
| state_description | |
| tenant_id | 3334 |
| timestamp | 2015-04-22 21:46:05.066171 |
| user_id | 3848 |
| vcpus | 2 |
+--------------------+------------------------------------------+


$ klugman http://stacktach3-api01.example.com:8000 events --name compute.instance.create.end --count
+----------+-------+
| Property | Value |
+----------+-------+
| count | 10280 |
+----------+-------+


$ klugman http://stacktach3-api01.example.com:8000 events --msg_id 047d9d5c-9190-4b85-9963-35d4cd095d07
+--------------------+------------------------------------------+
| Property | Value |
+--------------------+------------------------------------------+
| disk_gb | 80 |
| display_name | My_Display_Name |
| ephemeral_gb | 0 |
| event_type | compute.instance.create.end |
| host | c-11-22-33-4 |
| instance_flavor | 2GB Standard Instance |
| instance_flavor_id | 4 |
| instance_id | b3c1be31-0ebe-4d6d-9663-b617eabac421 |
| instance_type | 2GB Standard Instance |
| launched_at | 2015-04-22 18:02:03 |
| memory_mb | 2048 |
| message | Success |
| message_id | 047d9d5c-9190-4b85-9963-35d4cd095d07 |
| os_architecture | x64 |
| os_distro | org.debian |
| os_version | 7 |
| rax_options | 0 |
| request_id | req-597b08a3-faef-425a-8f63-b91abcb1e1dd |
| root_gb | 80 |
| service | compute |
| state | active |
| tenant_id | 3334 |
| timestamp | 2015-04-22 21:46:05.066171 |
| user_id | 3848 |
| vcpus | 2 |
+--------------------+------------------------------------------+

```

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Filename, size & hash SHA256 hash help File type Python version Upload date
klugman-0.5.dev25.tar.gz (15.0 kB) Copy SHA256 hash SHA256 Source None May 15, 2015

Supported by

Elastic Elastic Search Pingdom Pingdom Monitoring Google Google BigQuery Sentry Sentry Error logging AWS AWS Cloud computing DataDog DataDog Monitoring Fastly Fastly CDN SignalFx SignalFx Supporter DigiCert DigiCert EV certificate StatusPage StatusPage Status page