Upgrade to Pro — share decks privately, control downloads, hide ads and more …

Instrumenting CI Pipelines

Clay Smith
February 20, 2018

Instrumenting CI Pipelines

Clay Smith

February 20, 2018
Tweet

More Decks by Clay Smith

Other Decks in Programming

Transcript

  1. A BRIEF HISTORY OF OBSERVABILITY THOUGHT- LEADERSHIP CENTERED ON THE

    URBAN COAST OF THE WESTERN UNITED STATES intro. FOR CURIOUS DEVELOPMENT AND OPERATIONAL PROFESSIONALS
  2. THE THREE PILLARS OF OBSERVABILITY Metrics Logs Traces (credit: @copyconstruct,

    https://medium.com/@copyconstruct/logs-and-metrics-6d34d3026e38) fig. 3
  3. HOW TO INSTRUMENT THE PIPELINE? (I.E. NO OPERATING SYSTEM ACCESS)

    Log Events converted to a trace. Needs: timestamp and relationship to other events Optional: other useful attributes (i.e. container name) Traces are just related events! We can convert! (diagram: @peterbourgon)
  4. COLLECTING TRACE EVENTS THE REALLY LAZY WAY tail -f $temp_file

    | ./traceformer -app-name DevOpsTest &> output.log & Just read events in from STDIN and convert them to a tracing format (in this case New Relic APM) with some hacked together golang code.
  5. CONNECTING CI TRACES TO PROD PERFORMANCE Attributes add additional context

    to traces. ... this can then be correlated with production performance.
  6. LESSONs LEARNED INSTRUMENTING THE CI PIPELINE 1) If you have

    a complex CI pipeline, consider traces. 2) We should be connecting production performance to the processes (i.e. pipeline runs) that deployed and tested them. (diagram: @peterbourgon)