Skip to content

jchannon/widgetario

main
Switch branches/tags

Name already in use

A tag already exists with the provided branch name. Many Git commands accept both tag and branch names, so creating this branch may cause unexpected behavior. Are you sure you want to create this branch?
Code
This branch is 6 commits ahead, 21 commits behind sixeyed:main.

Latest commit

 

Git stats

Files

Permalink
Failed to load latest commit information.
Type
Name
Latest commit message
Commit time
src
 
 
 
 
 
 
 
 
 
 
 
 
 
 

ASP.NET Core, Carter, OpenTelemetry & Jaeger

Tracing

When running an ASP.NET Core application that makes any IO calls it's handy to trace what is happening. In this codebase, tracing is enabled and the ASP.NET Core web app makes IO calls to two different APIs to retrieve data. In the past we have had to wire up correlation ids and causation ids manually with HttpClient but thanks to the work done inside the .NET Core platform we no longer have to worry about this. What's more, we have tools that can use these enhancements and visualize these calls and allow us to see how long and where these calls take place inside our application. It can distinguish HTTP calls going out and HTTP calls coming in across boundaries. If you use SqlClient you also get OpenTelemetry for free that shows the timings of your SQL queries and the SQL statement that was executed.
For this example, there are two options configured in the Product and Stock appsettings.json, SqlClient and Npgsql, unfortunately work to get OpenTelemetry into Npgsql is ongoing and therefore won't show sql timings.

Overview

Cross Boundary

SQL

Running

Open a terminal

Enter the ./src/db directory

Postgres

Run docker build -t widgetario/products-db:postgres .

Run docker run -p 5432:5432 -d --rm widgetario/products-db:postgres

MSSQL

Run docker build -t db-demo .

Run docker run -p 1433:1433 -d --rm db-demo (wait 20 secs for database initialization)

Jaeger

Run

docker run -d --name jaeger \                                                                                                                                                                                                          18:55:31
-e COLLECTOR_ZIPKIN_HTTP_PORT=9411 \
-p 5775:5775/udp \
-p 6831:6831/udp \
-p 6832:6832/udp \
-p 5778:5778 \
-p 16686:16686 \
-p 14268:14268 \
-p 14250:14250 \
-p 9411:9411 \
jaegertracing/all-in-one:1.21

Open Rider, select All in the run/debug configuration and run or debug the apps

About

Widgetario

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages

  • C# 88.1%
  • Shell 4.7%
  • Dockerfile 3.9%
  • TSQL 3.3%