Ecosyste.ms: Awesome

An open API service indexing awesome lists of open source software.

Awesome Lists | Featured Topics | Projects

https://github.com/freeformz/go-observability-workshop


https://github.com/freeformz/go-observability-workshop

Last synced: 7 days ago
JSON representation

Awesome Lists containing this project

README

        

# Go Observability Workshop

## Description

If your software is destined for production, It’s not enough to write well factored and performant software. Your software needs to be operable, a key part of which is delivering software that is observable. Observable software provides operators rich, context sensitive, insights into its internal workings. This full day workshop teaches students how to write observable Go software and use observability tools to troubleshoot, debug and fine tune applications during the class and in real life situations.

## What a student is expected to learn

Students taking this workshop will learn when and how to use the three pillars of Observability: Metrics, Logging, & Tracing.

Students will be introduced to observability tools like prometheus and stack driver. Students will apply those concepts and tools to:

* Instrument programs with metrics, logging & traces;
* Use the instrumentation to gain insights into how programs are operating;
* Use tooling to troubleshoot problems in their programs.

## Requirements

1. http://gopherslack.com
1. Experience with the Go programming language, having completed at least a beginning Go workshop or [A Tour of Go](https://tour.golang.org/welcome/1);
1. [Install SF Mono Font on MacOS](https://medium.com/@shashikant.jagtap/getting-apples-sf-mono-font-in-macos-1de5183add84) : This is to ensure that ascii diagrams on Github are rendered properly (on OSX anyway);
1. Have [Go](https://golang.org/doc/install) v1.12+ installed;
1. [`jq`](https://stedolan.github.io/jq/) installed;
1. [`curl`](https://curl.haxx.se/) installed;
1. A text editor and/or IDE you are familiar with installed;
1. A web browser installed;
1. A terminal/shell program installed (or IDE with an embedded terminal like Visual Studio Code);
1. [prometheus binaries](https://prometheus.io/download/) for your operating system downloaded;
1. [jaeger tracing binaries](https://www.jaegertracing.io/download/) for your operating system downloaded.