Filtrage de schéma amélioré selon la version
direct_read uniquement aux versions 26.2 et ultérieures de ClickHouse, où l’index de recherche plein texte prend correctement en charge les colonnes alias ajoutées aux schémas open-source. Auparavant, l’optimisation pouvait être tentée sur des versions plus anciennes, où elle ne fonctionnait pas correctement. La vérification de version s’effectue au moment de la requête, en inspectant le schéma, et les colonnes alias elles-mêmes sont désormais incluses par défaut dans les schémas open-source.
Également présenté : des travaux en cours visant à remplacer la vue matérialisée d’autocomplétion par des requêtes directes sur l’index de texte. Pour l’instant, les deux remplissent en partie le même rôle, ce qui accroît la pression sur l’ingestion. Si les benchmarks confirment que les requêtes sur l’index de texte offrent des performances satisfaisantes, la vue matérialisée pourra être simplifiée, voire supprimée. Aaron a également répondu aux questions de l’équipe sur la manière dont l’encodage positionnel, dans les futures versions de l’index de texte de ClickHouse, pourrait rendre les recherches liées aux filtres clé-valeur encore plus précises.
PR associées : #2341 feat: ajoute l’optimisation direct_read par défaut pour les logs et les traces, #2405 feat(common-utils): applique l’optimisation direct_read des éléments KV aux filtres SQL, #2376 feat: utilise l’index de texte pour alimenter les filtres et l’autocomplétion
Meilleure analyse des logs
level. La logique d’inférence de la sévérité faisait deux choses : analyser le corps en JSON pour en extraire des attributs, puis se rabattre sur une correspondance de chaînes si aucune sévérité n’était définie au niveau OTel. Cette correspondance détectait le mot “alert” dans le nom d’un gestionnaire d’alertes présent dans le corps, ce qui entraînait une mauvaise classification du niveau de log.
Le correctif ajoute une condition de garde : si le corps est analysé en JSON et contient déjà un champ level, l’étape d’inférence à partir de la chaîne est entièrement ignorée. Une suite de smoke tests créée il y a environ un an a permis de valider facilement le correctif et de repérer les cas limites associés simplement en ajoutant de nouveaux cas de test, exactement comme elle avait été conçue pour le faire.
PR associées : #2363 fix(log-parser): ignorer l’inférence de chaîne lorsque le corps est analysé en JSON avec un champ level
Améliorations du serveur MCP
hyperdx_ en clickstack_ pour s’aligner sur le nom du produit.
PR associées : #2337 feat(mcp): amélioration de la qualité des outils MCP — aides en cas d’erreur, helpers partagés, meilleurs messages, #2396 refactor(mcp): renommage des préfixes d’outils de hyperdx_ en clickstack_, #2343 feat(mcp): ajout des outils patch_dashboard, get_dashboard_tile, search_dashboards, #2418 fix(mcp): amélioration des descriptions d’alias et des exemples pour des légendes de graphiques plus lisibles, #2412 refactor: simplification de la validation MCP ObjectId avec des helpers partagés et des vérifications au niveau du schéma