Systems and methods for measuring latency across microservices
A system and method for measuring latency is disclosed. In some implementations, the processor may include providing a switch API to process a plurality of microservices involved in a workflow and connected to a distributed in-memory keyvalue database, where the distributed in-memory keyvalue database further may include a plurality of key spaces. In addition, the processor may include managing configuration tools to track the latency of each microservice in the plurality of microservices. The processor may include programing data plane information of the microservices to create programmed data, where programming further may include collecting and analyzing data on the latency of each microservice of the plurality of microservices. Moreover, the processor may include feeding the programmed data into an ASIC.
1 . A method for measuring latency across microservices comprising the steps of:
providing a switch API to process a plurality of microservices involved in a workflow and connected to a distributed in-memory key-value database, wherein the distributed in-memory key-value database further comprises a plurality of key spaces;
managing configuration tools to track the latency of each microservice in the plurality of microservices;
programing data plane information of the microservices to create programmed data, wherein programming further comprises collecting and analyzing data on the latency of each microservice of the plurality of microservices; and
feeding the programmed data into an ASIC.
2 . The method of claim 1 , further comprising: subscribing to all key spaces that are used for communication to keep track of one or more events happening in the key spaces.
3 . The method of claim 2 , further comprising: capturing performance metrics of the plurality of microservices for any given workflow to create captured data, correlating the captured data to create correlated data; and providing an end-user a traceability matrix of latencies that correspond to the correlated data.
4 . The method of claim 3 , further comprising: monitoring communications between the microservices using a publisher-subscriber function available through the distributed in-memory key-value database.
5 . The method of claim 4 , further comprising executing a new micro service perform a targeted computation.
6 . The method of claim 5 , further comprising publishing required data in the distributed in-memory key-value database; and
notifying the plurality of microservices that need to respond by terms of subscription to a designated channel-keyspace, wherein each input to a microservice will provide an output in the distributed in-memory key-value database that which can be consumed by other micro services.
7 . A system for measuring latency across microservices comprising:
one or more processors configured to:
provide a switch API to process a plurality of microservices involved in a workflow and connected to a distributed in-memory keyvalue database, wherein the distributed in-memory keyvalue database further comprises a plurality of key spaces;
manage configuration tools to track the latency of each microservice in the plurality of microservices;
program data plane information of the microservices to create programmed data, wherein programming further comprises collecting and analyzing data on the latency of each microservice of the plurality of microservices; and
feed the programmed data into an ASIC.
8 . The system of claim 7 , wherein the one or more processors are further configured to:
subscribe to all key spaces that are used for communication to keep track of one or more events happening in the key spaces.
9 . The system of claim 8 , wherein the one or more processors are further configured to:
capture performance metrics of the plurality of microservices for any given workflow to create captured data, correlating the captured data to create correlated data; and
provide an end-user a traceability matrix of latencies that correspond to the correlated data.
10 . The system of claim 9 , wherein the one or more processors are further configured to:
monitor communications between the microservices using a publisher-subscriber function available through the distributed in-memory keyvalue database.
11 . The system of claim 10 , wherein the one or more processors are further configured to:
execute a new micro service perform a targeted computation.
12 . The system of claim 11 , wherein the one or more processors are further configured to:
publish required data in the distributed in-memory keyvalue database; and
notify the plurality of microservices that need to respond by terms of subscription to a designated channel-keyspace, wherein each input to a microservice will provide an output in the distributed in-memory keyvalue database that which can be consumed by other micro services.