Skip to content

Instantly share code, notes, and snippets.

@sanealytics
Last active June 20, 2020 18:21
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save sanealytics/7237c8aa7e73750df2369f62be010e5b to your computer and use it in GitHub Desktop.
Save sanealytics/7237c8aa7e73750df2369f62be010e5b to your computer and use it in GitHub Desktop.
Deployed function to get service trace id
# Deployed function
def get_service_trace_id(request):
if (request.method != 'POST'):
abort(403)
if (request.headers['content-type'] != 'application/json'):
raise NameError("ERROR: JSON content-type expected")
request_json = request.get_json(silent=True)
if not request_json or "service" not in request_json:
raise NameError("Please provide parameter 'service' name, 'instance' name optional")
service = request_json["service"]
instance = request_json["instance"] if "instance" in request_json else "default"
version = request_json["version"] if "version" in request_json else None
metadata = request_json["metadata"] if "metadata" in request_json else None
return service_trace_id(service, instance, version, metadata)
def service_trace_id(service, instance='default', version=None, metadata=None):
global service_tracker
global bq_cl
if not service_tracker or not bq_cl:
__connect_service_tracker()
tid = elt.get_tid(service, instance)
rows = [
{
'service': service.upper(),
'instance': instance,
'tid': tid,
'version': version,
'metadata': metadata,
'added_ts': datetime.now()
}
]
errors = bq_cl.insert_rows(service_tracker, rows)
if errors:
print('Errors:')
for error in errors:
print(error)
return json.dumps({'tid': tid})
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment