def serialize_to_json()

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