-
Notifications
You must be signed in to change notification settings - Fork 318
Closed
Description
Currently on datadog version 0.31.0, you can't send distributions through ThreadStats.
from datadog import initialize, ThreadStats
import time
import logging
logging.basicConfig(level='DEBUG')
logger = logging.getLogger(__name__)
DATADOG_API_KEY = "<api_key>"
DATADOG_APP_KEY = "<app_key>"
initialize(api_key=DATADOG_API_KEY, app_key=DATADOG_APP_KEY)
client = ThreadStats()
logger.info('Starting datadog threadstats reporter')
client.start(flush_interval=5, roll_up_interval=5)
# 403 on submit
client.distribution('my-distrib', 1)
time.sleep(10)
# 202 On submit
client.histogram('my-histo', 1)
time.sleep(10)Outputs:
WARNING:datadog.api:No agent or invalid configuration file found
INFO:__main__:Starting datadog threadstats reporter
INFO:datadog.threadstats:Starting flush thread with interval 5.
DEBUG:datadog.threadstats:Flushing metrics in thread
DEBUG:datadog.threadstats:No metrics to flush. Continuing.
DEBUG:datadog.threadstats:Flush #1 sending 1 distributions
DEBUG:datadog.api:Use `requests` based HTTP client.
DEBUG:urllib3.util.retry:Converted retries value: 3 -> Retry(total=3, connect=None, read=None, redirect=None, status=None)
DEBUG:urllib3.connectionpool:Starting new HTTPS connection (1): api.datadoghq.com
DEBUG:urllib3.connectionpool:https://api.datadoghq.com:443 "POST /api/v1/distribution_points HTTP/1.1" 403 20
INFO:datadog.api:403 POST https://api.datadoghq.com/api/v1/distribution_points (416.9381ms)
ERROR:datadog.threadstats:Error flushing metrics and events
Traceback (most recent call last):
File "/Users/antoinel/venvs/jellynote/lib/python2.7/site-packages/datadog/threadstats/base.py", line 324, in flush
self.reporter.flush_distributions(dists)
File "/Users/antoinel/venvs/jellynote/lib/python2.7/site-packages/datadog/threadstats/reporters.py", line 21, in flush_distributions
api.Distribution.send(distributions, compress_payload=self.compress_payload)
File "/Users/antoinel/venvs/jellynote/lib/python2.7/site-packages/datadog/api/distributions.py", line 40, in send
attach_host_name=attach_host_name, compress_payload=compress_payload, **series_dict
File "/Users/antoinel/venvs/jellynote/lib/python2.7/site-packages/datadog/api/resources.py", line 85, in send
compress_payload=compress_payload
File "/Users/antoinel/venvs/jellynote/lib/python2.7/site-packages/datadog/api/api_client.py", line 175, in submit
raise ValueError('Invalid JSON response: {0}'.format(content))
ValueError: Invalid JSON response: No api key specified
DEBUG:datadog.threadstats:Flushing metrics in thread
DEBUG:datadog.threadstats:No metrics to flush. Continuing.
DEBUG:datadog.threadstats:No distributions to flush. Continuing.
DEBUG:datadog.threadstats:No events to flush. Continuing.
DEBUG:datadog.threadstats:Flushing metrics in thread
DEBUG:datadog.threadstats:Flush #2 sending 8 metrics
DEBUG:urllib3.connectionpool:https://api.datadoghq.com:443 "POST /api/v1/series?application_key=<app_key>&api_key=<api_key> HTTP/1.1" 202 16
INFO:datadog.api:202 POST https://api.datadoghq.com/api/v1/series (90.5559ms)
DEBUG:datadog.threadstats:No distributions to flush. Continuing.
DEBUG:datadog.threadstats:No events to flush. Continuing.
DEBUG:datadog.threadstats:No metrics to flush. Continuing.
DEBUG:datadog.threadstats:No distributions to flush. Continuing.
DEBUG:datadog.threadstats:No events to flush. Continuing.
DEBUG:datadog.threadstats:No metrics to flush. Continuing.
DEBUG:datadog.threadstats:No distributions to flush. Continuing.
DEBUG:datadog.threadstats:No events to flush. Continuing.
Process finished with exit code 0
Reactions are currently unavailable
Metadata
Metadata
Assignees
Labels
No labels