add totals for stats

This commit is contained in:
xss 2022-02-27 12:57:24 +11:00
parent 1ffeef2cab
commit 2ee38c5a89
2 changed files with 85 additions and 75 deletions

View File

@ -396,40 +396,46 @@ def telm_stats(event, context):
path = "telm-*/_search"
payload = {
"aggs": {
"software_name": {
"terms": {
"field": "software_name.keyword",
"order": {
"unique_callsigns": "desc"
},
"size": 10
"total_unique_callsigns": {
"cardinality": {
"field": "uploader_callsign.keyword"
}
},
"aggs": {
"unique_callsigns": {
"cardinality": {
"field": "uploader_callsign.keyword"
}
},
"software_version": {
"software_name": {
"terms": {
"field": "software_version.keyword",
"field": "software_name.keyword",
"order": {
"unique_callsigns": "desc"
"unique_callsigns": "desc"
},
"size": 10
},
"aggs": {
"unique_callsigns": {
"cardinality": {
"field": "uploader_callsign.keyword"
}
"cardinality": {
"field": "uploader_callsign.keyword"
}
},
"software_version": {
"terms": {
"field": "software_version.keyword",
"order": {
"unique_callsigns": "desc"
},
"size": 10
},
"aggs": {
"unique_callsigns": {
"cardinality": {
"field": "uploader_callsign.keyword"
}
}
}
}
}
}
}
}
},
"size": 0,
"track_total_hits": True,
"query": {
"bool": {
"must": [],
@ -463,6 +469,10 @@ def telm_stats(event, context):
}
for x in results['aggregations']['software_name']['buckets']
}
output['totals'] = {
"unique_callsigns": results['aggregations']['total_unique_callsigns']['value'],
"telemetry_count": results['hits']['total']['value']
}
compressed = BytesIO()
with gzip.GzipFile(fileobj=compressed, mode='w') as f:

View File

@ -1,49 +1,49 @@
from . import *
#print(get_listener_telemetry({"queryStringParameters":{}}, {}))
# print(telm_stats({
# "version": "2.0",
# "routeKey": "GET /sondes",
# "rawPath": "/sondes",
# "rawQueryString": "lat=49.827648&lon=6.106842&distance=400000&last=-60",
# "headers": {
# "cache-control": "no-cache",
# "content-length": "0",
# "host": "api-raw.v2.sondehub.org",
# "user-agent": "Amazon CloudFront",
# "via": "1.1 ee4db0d243ceb0d1993e5f46ad6c0f01.cloudfront.net (CloudFront)",
# "x-amz-cf-id": "KF68O6r-OP5oTosFLdix7-RWM6xeW08ZF48fgvwLkj9f3s4fJuCFKg==",
# "x-amzn-trace-id": "Root=1-61d14df5-0f9dbfe563e89f170e65a3bf",
# "x-forwarded-for": "94.252.35.58, 64.252.86.150",
# "x-forwarded-port": "443",
# "x-forwarded-proto": "https"
# },
# "queryStringParameters": {
# "distance": "400000",
# "last": "-60",
# "lat": "49.827648",
# "lon": "6.106842"
# },
# "requestContext": {
# "accountId": "143841941773",
# "apiId": "r03szwwq41",
# "domainName": "api-raw.v2.sondehub.org",
# "domainPrefix": "api-raw",
# "http": {
# "method": "GET",
# "path": "/sondes",
# "protocol": "HTTP/1.1",
# "sourceIp": "94.252.35.58",
# "userAgent": "Amazon CloudFront"
# },
# "requestId": "LTkeXjgXIAMEVzw=",
# "routeKey": "GET /sondes",
# "stage": "$default",
# "time": "02/Jan/2022:07:02:13 +0000",
# "timeEpoch": 1641106933368
# },
# "isBase64Encoded": False
# }, None))
print(telm_stats({
"version": "2.0",
"routeKey": "GET /sondes",
"rawPath": "/sondes",
"rawQueryString": "lat=49.827648&lon=6.106842&distance=400000&last=-60",
"headers": {
"cache-control": "no-cache",
"content-length": "0",
"host": "api-raw.v2.sondehub.org",
"user-agent": "Amazon CloudFront",
"via": "1.1 ee4db0d243ceb0d1993e5f46ad6c0f01.cloudfront.net (CloudFront)",
"x-amz-cf-id": "KF68O6r-OP5oTosFLdix7-RWM6xeW08ZF48fgvwLkj9f3s4fJuCFKg==",
"x-amzn-trace-id": "Root=1-61d14df5-0f9dbfe563e89f170e65a3bf",
"x-forwarded-for": "94.252.35.58, 64.252.86.150",
"x-forwarded-port": "443",
"x-forwarded-proto": "https"
},
"queryStringParameters": {
"distance": "400000",
"last": "-60",
"lat": "49.827648",
"lon": "6.106842"
},
"requestContext": {
"accountId": "143841941773",
"apiId": "r03szwwq41",
"domainName": "api-raw.v2.sondehub.org",
"domainPrefix": "api-raw",
"http": {
"method": "GET",
"path": "/sondes",
"protocol": "HTTP/1.1",
"sourceIp": "94.252.35.58",
"userAgent": "Amazon CloudFront"
},
"requestId": "LTkeXjgXIAMEVzw=",
"routeKey": "GET /sondes",
"stage": "$default",
"time": "02/Jan/2022:07:02:13 +0000",
"timeEpoch": 1641106933368
},
"isBase64Encoded": False
}, None))
# mode: 6hours
# type: positions
# format: json
@ -96,14 +96,14 @@ from . import *
# {},
# )
# )
print(
get_telem(
{
"queryStringParameters":{
# "serial": "S3210639",
"duration": "3h",
# "datetime": "2021-07-26T06:49:29.001000Z"
}
}, {}
)
)
# print(
# get_telem(
# {
# "queryStringParameters":{
# # "serial": "S3210639",
# "duration": "3h",
# # "datetime": "2021-07-26T06:49:29.001000Z"
# }
# }, {}
# )
# )