Most of the integrations I have come across uses the java-agent to push the traces to a central collector and in turn one can view traces in Jaeger. However in my case I can't use the java agent, hence I decided to go with the custom tracing api which seems fine and there are many examples for this.
By design my low latency application limits me from making any connections to external components/ports hence I am also trying to avoid pushing the traces/spans to the local Jaeger agent or Collector endpoint, rather have the traces logged via the LogReporter.
Beyond this I am wondering how to build a pipeline for pushing the trace logs in to Jaeger. The logs themselves are in AWS cloudwatch as streams so I am thinking if I use a Serveless Lambda to subscribe and parse these trace log events then I could ship them myself to Jaeger using may be the HTTP /api/traces endpoint (not much details but read somewhere that this exists in some form).
At this point my question is if this is the right way or there is a better mechanism to achieve this. As I have no idea if the traces themselves can be replayed in this fashion to the Collector. Also not sure what format the endpoint accepts as I don't see much documentation or example around this.
The objective is for my application to "not" connect to any external monitoring infrastructure via push events so if there is any better way for Jaeger integration I would love to hear. Also I am okay if any other API in the form of OpenTracing, OpenCensus or even the latest OpenTelemetry can help with this.
Thanks