Telemetry generation for in-field hardware testing
A system for capturing hardware telemetry includes a hardware component encoded with hardware logic for emitting a telemetry stream into memory of a computing device. The system further includes a hardware component driver stored in the memory that is configured to parse the telemetry stream, populate telemetry structures defined within a telemetry event schema based on values parsed from the telemetry stream, and generate a telemetry record including the populated telemetry structures.
1 . A method, comprising:
aggregating a plurality of telemetry records for a set of hardware components, wherein hardware logic of a first hardware component of the set of hardware components is the hardware logic of a second hardware component of the set of hardware components, and wherein each telemetry record for a hardware component of the set of hardware components includes a defined telemetry structure that represents a logical state according to the hardware logic of the hardware component;
receiving, from a computing device, a request to query the plurality of telemetry records;
processing the plurality of telemetry records to generate an aggregate processing result corresponding to multiple hardware components of the set of hardware components; and
providing, in response to the request to query the plurality of telemetry records, the aggregate processing result.
2 . The method of claim 1 , wherein each telemetry record includes a mapping of one or more bit values of a telemetry stream according to a telemetry event schema, which maps the one or more bit values of the telemetry stream to a defined telemetry structure of the telemetry event schema to represent the logical state of the hardware component.
3 . The method of claim 1 , further comprising:
receiving, from the computing device, an indication of updated hardware logic; and
providing the updated hardware logic for updating a hardware component of the set of hardware components.
4 . The method of claim 1 , wherein:
the plurality of telemetry records are aggregated from a plurality of computing devices; and
each computing device of the plurality of computing devices includes an implementation of the hardware component.
5 . The method of claim 1 , wherein providing the aggregate processing result further comprises providing telemetry event data for the set of hardware components that corresponds to the aggregate processing result.
6 . The method of claim 1 , wherein the aggregate processing result includes statistical information pertaining to the plurality of telemetry records.
7 . The method of claim 1 , wherein the hardware component is a field-programmable gate array.
8 . A method, comprising:
querying a telemetry aggregation server to request telemetry information relating to hardware logic of a set of hardware components;
receiving, from the telemetry aggregation server, the requested telemetry information, comprising at least one of:
a telemetry record for a hardware component of the set of hardware components that includes a defined telemetry structure that represents a logical state of the hardware component; or
telemetry event data for the hardware component of the set of hardware components;
processing, using a hardware simulator, the telemetry information to simulate hardware logic of the set of hardware components; and
providing, to the telemetry aggregation server, an indication of a hardware logic update for the set of hardware components.
9 . The method of claim 8 , wherein the set of hardware components is a plurality of hardware components and the telemetry information comprises aggregated telemetry information for the plurality of hardware components.
10 . The method of claim 9 , wherein the telemetry information comprises an aggregate processing result for the plurality of hardware components.
11 . The method of claim 8 , wherein the hardware simulator processes the telemetry information to recreate a state of a hardware component according to the telemetry information.
12 . The method of claim 11 , wherein the state of the hardware component comprises a voltage value for a corresponding gate associated with a telemetry event of the telemetry information.
13 . The method of claim 8 , wherein the indication of the hardware logic update is provided in response to receiving, from a user, a change to hardware logic based on the simulated hardware logic of the set of hardware components.
14 . A system, comprising:
at least one processor; and
memory storing instructions that, when executed by the at least one processor, cause the system to perform a set of operations, the set of operations comprising:
aggregating a plurality of telemetry records for a set of hardware components, wherein hardware logic of a first hardware component of the set of hardware components is the hardware logic of a second hardware component of the set of hardware components, and wherein each telemetry record for a hardware component of the set of hardware components includes a defined telemetry structure that represents a logical state of the hardware component;
receiving, from a computing device, a request to query the plurality of telemetry records;
processing the plurality of telemetry records to generate an aggregate processing result corresponding to multiple hardware components of the set of hardware components; and
providing, in response to the request to query the plurality of telemetry records, the aggregate processing result.
15 . The system of claim 14 , wherein each telemetry record includes a mapping of one or more bit values of a telemetry stream according to a telemetry event schema, which maps the one or more bit values of the telemetry stream to a defined telemetry structure of the telemetry event schema to represent the logical state of the hardware component.
16 . The system of claim 14 , wherein the set of operations further comprises:
receiving, from the computing device, an indication of updated hardware logic; and
providing the updated hardware logic for updating a hardware component of the set of hardware components.
17 . The system of claim 14 , wherein:
the plurality of telemetry records are aggregated from a plurality of computing devices; and
each computing device of the plurality of computing devices includes an implementation of the hardware component.
18 . The system of claim 14 , wherein providing the aggregate processing result further comprises providing telemetry event data for the set of hardware components that corresponds to the aggregate processing result.
19 . The system of claim 14 , wherein the aggregate processing result includes statistical information pertaining to the plurality of telemetry records.
20 . The system of claim 14 , wherein the hardware component is a field-programmable gate array.