in codeguru_profiler_agent/agent_metadata/agent_metadata.py [0:0]
def serialize_to_json(self, sample_weight, duration_ms, cpu_time_seconds,
average_num_threads, overhead_ms, memory_usage_mb, total_sample_count):
"""
This needs to be compliant with the AgentMetadata schema that is used on the service side.
"""
if self.json_rep is None:
self.json_rep = {
"sampleWeights": {
"WALL_TIME": sample_weight
},
"durationInMs": duration_ms,
"fleetInfo": self.fleet_info.serialize_to_map(),
"agentInfo": {
"type": self.agent_info.agent_type,
"version": self.agent_info.version
},
"agentOverhead": {
"memoryInMB": int(memory_usage_mb)
},
"runtimeVersion": self.runtime_version,
"cpuTimeInSeconds": cpu_time_seconds,
"metrics": {
"numThreads": average_num_threads
},
"numTimesSampled": total_sample_count
}
if overhead_ms != 0:
self.json_rep["agentOverhead"]["timeInMs"] = int(overhead_ms)
return self.json_rep