<!-- mobian-agent-page publisher="dailydev" canonical="https://daily.dev/posts/davide-s-code-and-architecture-notes---metrics-logs-and-traces-the-three-pillars-of-observability-a89ih8pfo" -->

---
title: Davide's Code and Architecture Notes - Metrics, Logs,...
description: Explains the three pillars of Observability—metrics, logs, and traces—using OpenTelemetry's terminology (Signals). Metrics are time-series numbers (counters,...
canonical: https://daily.dev/posts/davide-s-code-and-architecture-notes---metrics-logs-and-traces-the-three-pillars-of-observability-a89ih8pfo
twitter:card: summary_large_image
twitter:site: @dailydotdev
og:type: website
og:site_name: daily.dev
og:title: Davide's Code and Architecture Notes - Metrics, Logs, and Traces: the three pillars of Observability | daily.dev
og:description: Explains the three pillars of Observability—metrics, logs, and traces—using OpenTelemetry's terminology (Signals). Metrics are time-series numbers (counters,...
og:url: https://daily.dev/posts/davide-s-code-and-architecture-notes---metrics-logs-and-traces-the-three-pillars-of-observability-a89ih8pfo
og:image: https://api.daily.dev/og/posts/a89ih8pfo.png
og:image:alt: Davide's Code and Architecture Notes - Metrics, Logs, and Traces: the three pillars of Observability
og:image:width: 1200
og:image:height: 630
og:locale: en
---

> ## Documentation Index
> Fetch the complete documentation index at: https://daily.dev/llms.txt
> Use this file to discover all available pages before exploring further.

# Davide's Code and Architecture Notes - Metrics, Logs, and Traces: the three pillars of Observability

**[Code4IT](https://daily.dev/sources/code4it)** · 10 min read · 0 upvotes · 0 comments

## Summary

Explains the three pillars of Observability—metrics, logs, and traces—using OpenTelemetry's terminology (Signals). Metrics are time-series numbers (counters, gauges, histograms) best used for spotting trends and anomalies rather than single values. Logs are timestamped, detailed event records useful for debugging and auditing, but require careful handling to avoid leaking sensitive data (log injection, GDPR compliance). Traces follow a request's journey across services via spans, requiring context propagation and sampling to manage volume. The piece recommends starting with logging as the easiest to implement, then adding tracing, then metrics, and links to related .NET-focused articles on Seq, MiniProfiler, and correlation IDs.

## Full article

daily.dev links to this article rather than hosting it. Read it at the original source: <https://www.code4it.dev/architecture-notes/metrics-logs-traces>

## Questions this post answers

### What are the three pillars of observability and how do they differ?

The three pillars are metrics, logs, and traces, also called Signals in OpenTelemetry terminology. Metrics are quantitative time-series numbers like CPU usage or request latency, useful for spotting trends rather than single values. Logs are detailed timestamped event records used for debugging and auditing. Traces follow a request's journey across services through nested spans, helping identify bottlenecks in distributed systems.

_daily.dev surfaces practical breakdowns like this for engineers designing an observability strategy._

### Which should I implement first in my system: logging, tracing, or metrics?

Start with logging, since it is the easiest to implement and gives the most immediate value for troubleshooting and debugging. Once a solid logging strategy exists, add tracing to understand the end-to-end flow of requests across services. Metrics should come last, added once specific KPIs need to be tracked over time.

_Developers sequencing an observability rollout can find staged guidance like this on daily.dev._

### Why are logs considered a security risk and how do I avoid log injection?

Logs are a common threat vector because attackers can exploit them to gain unauthorized access through a technique called log injection, and poorly sanitized logs can leak sensitive data like passwords, API keys, or PII. Mitigations include sanitizing logged data, securing log storage with access control, avoiding exposure to external systems, and ensuring GDPR compliance for logs containing personal data.

_Teams hardening their logging practices against injection attacks can track such guidance on daily.dev._

## Similar posts on daily.dev

- [Railway Highlights the Importance of Logs, Metrics, Traces, and Alerts for Diagnosing System Failure](https://daily.dev/posts/railway-highlights-the-importance-of-logs-metrics-traces-and-alerts-for-diagnosing-system-failure-1oqmdflhi) · InfoQ · 0 upvotes · 0 comments
- [Why Logs, Metrics and Traces Still Don’t Give You Real Observability](https://daily.dev/posts/why-logs-metrics-and-traces-still-don-t-give-you-real-observability-xkoqmowxi) · DevOps.com · 0 upvotes · 0 comments
- [The Pillar Is A Lie](https://daily.dev/posts/the-pillar-is-a-lie-lquq1zwlu) · Charity · 24 upvotes · 3 comments
- [Observability in Go: What Goes in a Metric, a Log, and a Trace](https://daily.dev/posts/observability-in-go-what-goes-in-a-metric-a-log-and-a-trace-9fz1jzl1o) · Awesome Go · 6 upvotes · 0 comments

---

Tags: [#devops](https://daily.dev/tags/devops), [#observability](https://daily.dev/tags/observability), [#logging](https://daily.dev/tags/logging), [#opentelemetry](https://daily.dev/tags/opentelemetry)

[View this post on daily.dev](https://daily.dev/posts/davide-s-code-and-architecture-notes---metrics-logs-and-traces-the-three-pillars-of-observability-a89ih8pfo)

```json
{"@context":"https://schema.org","@graph":[{"@type":"Organization","@id":"https://daily.dev/#organization","name":"daily.dev","url":"https://daily.dev","logo":{"@type":"ImageObject","url":"https://daily.dev/apple-touch-icon.png","width":180,"height":180},"sameAs":["https://twitter.com/dailydotdev","https://github.com/dailydotdev","https://www.linkedin.com/company/daily-dev-ltd"]},{"@type":"WebSite","@id":"https://daily.dev/#website","url":"https://daily.dev","name":"daily.dev","publisher":{"@id":"https://daily.dev/#organization"},"potentialAction":{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"https://daily.dev/search?q={search_term_string}"},"query-input":"required name=search_term_string"}}]}
{"@context":"https://schema.org","@type":"TechArticle","headline":"Davide's Code and Architecture Notes - Metrics, Logs, and Traces: the three pillars of Observability","url":"https://daily.dev/posts/davide-s-code-and-architecture-notes---metrics-logs-and-traces-the-three-pillars-of-observability-a89ih8pfo","mainEntityOfPage":{"@type":"WebPage","@id":"https://daily.dev/posts/davide-s-code-and-architecture-notes---metrics-logs-and-traces-the-three-pillars-of-observability-a89ih8pfo"},"datePublished":"2026-10-04T13:06:44.437Z","dateModified":"2026-10-04T13:10:34.122Z","description":"Explains the three pillars of Observability—metrics, logs, and traces—using OpenTelemetry's terminology (Signals). Metrics are time-series numbers (counters,...","image":"https://media.daily.dev/image/upload/f_auto,q_auto/v1/posts/52e30a9bf7705efc6091578561c03236?_a=AQAEuop","thumbnailUrl":"https://media.daily.dev/image/upload/f_auto,q_auto/v1/posts/52e30a9bf7705efc6091578561c03236?_a=AQAEuop","isAccessibleForFree":true,"articleSection":"Code4IT","inLanguage":"en","publisher":{"@type":"Organization","name":"daily.dev","url":"https://daily.dev","logo":{"@type":"ImageObject","url":"https://daily.dev/apple-touch-icon.png","width":180,"height":180}},"author":{"@type":"Organization","name":"Code4IT","logo":"https://media.daily.dev/image/upload/s--OaaG4G10--/f_auto,q_auto/v1791119049/logos/code4it?_a=BAMAMicg0","url":"https://daily.dev/sources/code4it"},"commentCount":0,"discussionUrl":"https://daily.dev/posts/davide-s-code-and-architecture-notes---metrics-logs-and-traces-the-three-pillars-of-observability-a89ih8pfo","interactionStatistic":[{"@type":"InteractionCounter","interactionType":{"@type":"LikeAction"},"userInteractionCount":0},{"@type":"InteractionCounter","interactionType":{"@type":"CommentAction"},"userInteractionCount":0}],"keywords":"devops,observability,logging,opentelemetry","timeRequired":"PT10M"}
{"@context":"https://schema.org","@type":"BreadcrumbList","itemListElement":[{"@type":"ListItem","position":1,"name":"Home","item":"https://daily.dev"},{"@type":"ListItem","position":2,"name":"Code4IT","item":"https://daily.dev/sources/code4it"},{"@type":"ListItem","position":3,"name":"Davide's Code and Architecture Notes - Metrics, Logs, and Traces: the three pillars of Observability"}]}
{"@context":"https://schema.org","@type":"FAQPage","@id":"https://daily.dev/posts/davide-s-code-and-architecture-notes---metrics-logs-and-traces-the-three-pillars-of-observability-a89ih8pfo#faq","mainEntity":[{"@type":"Question","name":"What are the three pillars of observability and how do they differ?","acceptedAnswer":{"@type":"Answer","text":"The three pillars are metrics, logs, and traces, also called Signals in OpenTelemetry terminology. Metrics are quantitative time-series numbers like CPU usage or request latency, useful for spotting trends rather than single values. Logs are detailed timestamped event records used for debugging and auditing. Traces follow a request's journey across services through nested spans, helping identify bottlenecks in distributed systems. daily.dev surfaces practical breakdowns like this for engineers designing an observability strategy."}},{"@type":"Question","name":"Which should I implement first in my system: logging, tracing, or metrics?","acceptedAnswer":{"@type":"Answer","text":"Start with logging, since it is the easiest to implement and gives the most immediate value for troubleshooting and debugging. Once a solid logging strategy exists, add tracing to understand the end-to-end flow of requests across services. Metrics should come last, added once specific KPIs need to be tracked over time. Developers sequencing an observability rollout can find staged guidance like this on daily.dev."}},{"@type":"Question","name":"Why are logs considered a security risk and how do I avoid log injection?","acceptedAnswer":{"@type":"Answer","text":"Logs are a common threat vector because attackers can exploit them to gain unauthorized access through a technique called log injection, and poorly sanitized logs can leak sensitive data like passwords, API keys, or PII. Mitigations include sanitizing logged data, securing log storage with access control, avoiding exposure to external systems, and ensuring GDPR compliance for logs containing personal data. Teams hardening their logging practices against injection attacks can track such guidance on daily.dev."}}]}
```

