Le nouveau `slog` de Go : un journaliseur structuré haute performance pour l’observabilité

2025-09-12
Le nouveau `slog` de Go : un journaliseur structuré haute performance pour l’observabilité

Go 1.21 introduit `slog`, une solution de journalisation structurée, native et haute performance, conçue pour être la nouvelle norme. Construit autour de `Logger`, `Handler` et `Record`, `slog` offre une approche flexible et efficace de la journalisation. L’article détaille l’utilisation de `slog`, couvrant les niveaux de journalisation, la journalisation contextuelle, la gestion des attributs, le contrôle des niveaux et la création de gestionnaires personnalisés, en soulignant l’utilisation de `slog.Attr` pour éviter les entrées de journal mal formées. Les considérations de performance, l’intégration avec OpenTelemetry pour une meilleure observabilité et les meilleures pratiques, telles que les journaux globaux et l’injection de dépendances, sont également abordées. `slog` vise à transformer la journalisation d’une pensée secondaire en un signal crucial pour l’observabilité.

Lire plus

Surveillance de mon serveur Minecraft avec OpenTelemetry et Dash0

2025-05-11
Surveillance de mon serveur Minecraft avec OpenTelemetry et Dash0

Pour permettre des bêtises multijoueurs Minecraft avec les enfants, j'ai mis en place un serveur Minecraft Java sur une VM Linux et j'ai implémenté une surveillance complète à l'aide d'OpenTelemetry, d'un exportateur Prometheus et de Dash0. L'agent OpenTelemetry Java surveille l'état de la JVM, un exportateur Prometheus Minecraft collecte des métriques spécifiques au jeu (nombre de joueurs, blocs miniers, etc.), et le collecteur OpenTelemetry agrège et envoie toutes les données à Dash0. Les requêtes PromQL et la surveillance des journaux de Dash0 me permettent de suivre l'état du serveur, comme les temps d'arrêt et les redémarrages de la JVM, avec des alertes Slack. Le processus a été un rafraîchissement amusant des compétences en Java et en administration système Linux. Bien que le tableau de bord soit simple, un serveur stable est la priorité.

Lire plus
Jeux

Débogage des composants serveur React dans Next.js avec OpenTelemetry

2025-01-23
Débogage des composants serveur React dans Next.js avec OpenTelemetry

Les composants serveur React (RSCs) offrent des avantages en termes de performances, mais introduisent des défis de débogage. Cet article montre comment utiliser OpenTelemetry, un puissant framework d'observabilité, pour tracer l'activité des RSC dans les applications Next.js. OpenTelemetry permet de tracer les requêtes, de collecter des métriques et d'agréger les journaux, offrant aux développeurs des informations sur l'exécution des composants côté serveur, y compris les événements du cycle de vie, les opérations de récupération de données et les performances de rendu. Une étude de cas réelle montre comment optimiser une page chargeant de nombreuses appels d'API GitHub à l'aide d'OpenTelemetry. L'article détaille l'installation des packages nécessaires, la création d'un fichier instrumentation.js et la configuration des destinations d'exportation de données. Il explique également comment créer des spans personnalisés pour obtenir des informations plus granulaires.

Lire plus
Développement

Mise à l'échelle automatique de vos applications Kubernetes avec Dash0 : au-delà de l'utilisation du CPU et de la mémoire

2025-01-11
Mise à l'échelle automatique de vos applications Kubernetes avec Dash0 : au-delà de l'utilisation du CPU et de la mémoire

Cet article de blog explique comment utiliser Dash0 pour mettre automatiquement à l'échelle les applications s'exécutant sur Kubernetes. Bien que Kubernetes simplifie la mise à l'échelle, les ajustements manuels des réplicas sont inefficaces. Dash0 automatise ce processus en surveillant les données de télémétrie de l'application. L'article explore trois types de mise à l'échelle automatique de Kubernetes : la mise à l'échelle automatique horizontale des pods, la mise à l'échelle automatique verticale des pods et la mise à l'échelle automatique du cluster, en se concentrant sur la mise à l'échelle automatique horizontale des pods. Il explique son fonctionnement et comment utiliser des métriques personnalisées (comme la latence) au lieu de se fier uniquement à l'utilisation du CPU et de la mémoire pour des stratégies de mise à l'échelle optimales. Dash0 s'intègre à l'adaptateur Prometheus, permettant des requêtes PromQL aux données Dash0 pour piloter le HPA, ce qui entraîne une mise à l'échelle automatique basée sur les performances de l'application et améliore l'expérience utilisateur.

Lire plus