Skip to content

Open Telemetry Integration

WindBeneathYourWings edited this page Jan 22, 2022 · 8 revisions
  • Angular
  • Panel Pages
  • Lifcycle
  • Render pipeline
    • I think this is directly applicable to what I was trying to achieve with sparkle actually.

dotel module?

do tel module?

dopter

Auto tracing using opentel js package.

https://github.com/open-telemetry/opentelemetry-js

note: BatchSpanProcessor can be used to batch traces which is probably what we want in prod.

browser tracing setup

https://opentelemetry.io/docs/instrumentation/js/getting-started/browser/

server tracing setup

https://opentelemetry.io/docs/instrumentation/js/getting-started/nodejs/

otlp server registration and configuration

https://opentelemetry.io/docs/instrumentation/js/exporters/

Original Sparkle Tracking

  • visitor BEGIN session
    • WITH browser
      • ENTERING panelpage[guid=a;version=1]
        • RENDERING panel[guid=a;version=3]
          • RENDERING pane[guid=a;version=1]
            • RENDERING panelpage[guid=q;version=1]
              • RENDERING panel[guid=d;version=1]
                • RENDERING pane[guid=v;version=3]
                  • RENDERED ..
                  • VIEW ..
                  • FOCUS input
                    • TYPE text[value=hello]
                  • RERENDERING pane[guid=v;version=3] - represents rerender?
                    • RERENDERED ..
                    • VIEW ..
                    • FOCUS
                • RENDERED ..
                • VIEW ..
              • RENDERED ..
              • VIEW ..
            • RENDERED ..
            • VIEW ..
          • RENDERED ..
          • VIEW ..
        • VIEW panel[guid=b;version=4]
          • VIEW pane[guid=a;version=1]
        • VIEW panel[guid=c;version=8]
          • VIEW pane[guid=a;version=1]
        • VIEW panel[guid=d;version=8]
          • VIEW pane[guid=a;version=1]
        • ENTERED ..
        • EXITING panelpage
          • EXITED ..
          • ENTER panelpage[guid=b;version=2]

Instrumentation Opportunities

  • Instrumentation for a panel page render. Lower level would be instrumentation for a component.
  • Instrumentation for ngrx events and most importantly entity events.
Clone this wiki locally