Files
greptimedb/servers/semantic/index.html
T

20 lines
7.4 KiB
HTML
Raw Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
<!DOCTYPE html><html lang="en"><head><meta charset="utf-8"><meta name="viewport" content="width=device-width, initial-scale=1.0"><meta name="generator" content="rustdoc"><meta name="description" content="Per-table semantic metadata accumulated during one ingest pass (OTLP metrics, Prometheus remote write v2)."><title>servers::semantic - Rust</title><script>if(window.location.protocol!=="file:")document.head.insertAdjacentHTML("beforeend","SourceSerif4-Regular-6b053e98.ttf.woff2,FiraSans-Italic-81dc35de.woff2,FiraSans-Regular-0fe48ade.woff2,FiraSans-MediumItalic-ccf7e434.woff2,FiraSans-Medium-e1aa3f0a.woff2,SourceCodePro-Regular-8badfe75.ttf.woff2,SourceCodePro-Semibold-aa29a496.ttf.woff2".split(",").map(f=>`<link rel="preload" as="font" type="font/woff2"href="../../static.files/${f}">`).join(""))</script><link rel="stylesheet" href="../../static.files/normalize-9960930a.css"><link rel="stylesheet" href="../../static.files/rustdoc-1ed95124.css"><meta name="rustdoc-vars" data-root-path="../../" data-static-root-path="../../static.files/" data-current-crate="servers" data-themes="" data-resource-suffix="" data-rustdoc-version="1.98.1 (48a229cea 2026-09-01)" data-channel="1.98.1" data-search-js="search-9944d736.js" data-stringdex-js="stringdex-2da4960a.js" data-settings-js="settings-170eb4bf.js" ><script src="../../static.files/storage-41dd4d93.js"></script><script defer src="../sidebar-items.js"></script><script defer src="../../static.files/main-417ebf0a.js"></script><noscript><link rel="stylesheet" href="../../static.files/noscript-f7c3ffd8.css"></noscript><link rel="alternate icon" type="image/png" href="../../static.files/favicon-32x32-eab170b8.png"><link rel="icon" type="image/svg+xml" href="../../static.files/favicon-044be391.svg"></head><body class="rustdoc mod"><a class="skip-main-content" href="#main-content">Skip to main content</a><!--[if lte IE 11]><div class="warning">This old browser is unsupported and will most likely display funky things.</div><![endif]--><rustdoc-topbar><h2><a href="#">Module semantic</a></h2></rustdoc-topbar><nav class="sidebar"><div class="sidebar-crate"><h2><a href="../../servers/index.html">servers</a><span class="version">1.4.0-alpha.0</span></h2></div><div class="sidebar-elems"><section id="rustdoc-toc"><h2 class="location"><a href="#">Module semantic</a></h2><h3><a href="#structs">Module Items</a></h3><ul class="block"><li><a href="#structs" title="Structs">Structs</a></li><li><a href="#constants" title="Constants">Constants</a></li><li><a href="#functions" title="Functions">Functions</a></li></ul></section><div id="rustdoc-modnav"><h2 class="in-crate"><a href="../index.html">In crate servers</a></h2></div></div></nav><div class="sidebar-resizer" title="Drag to resize sidebar"></div><main><div class="width-limiter"><section id="main-content" class="content" tabindex="-1"><div class="main-heading"><div class="rustdoc-breadcrumbs"><a href="../index.html">servers</a></div><h1>Module <span>semantic</span>&nbsp;<button id="copy-path" title="Copy item path to clipboard">Copy item path</button></h1><rustdoc-toolbar></rustdoc-toolbar><span class="sub-heading"><a class="src" href="../../src/servers/semantic.rs.html#15-325">Source</a> </span></div><details class="toggle top-doc" open><summary class="hideme"><span>Expand description</span></summary><div class="docblock"><p>Per-table semantic metadata accumulated during one ingest pass (OTLP
metrics, Prometheus remote write v2).</p>
<p>Each written table collects the scalar semantic keys its wire metadata
declares (an OTLP histogram fans out into <code>_bucket</code>/<code>_sum</code>/<code>_count</code>
companions; a remote write series names one metric family). The resulting
index is serialized onto the <code>greptime.internal.semantic.per_table_index</code>
context extension as <code>{schema -&gt; {table -&gt; {key -&gt; value}}}</code> and folded into
each table’s options at auto-create time.</p>
<p>Conflict handling follows the RFC: when two sources disagree on a
single-valued key the value collapses to <code>mixed</code> (or <code>unknown</code> for keys whose
domain has no <code>mixed</code>).</p>
</div></details><h2 id="structs" class="section-header">Structs<a href="#structs" class="anchor">§</a></h2><dl class="item-table"><dt><a class="struct" href="struct.SemanticIndex.html" title="struct servers::semantic::SemanticIndex">Semantic<wbr>Index</a></dt><dd>Index of <code>{table_name -&gt; {semantic_key -&gt; value}}</code> for one target schema.</dd><dt><a class="struct" href="struct.SemanticIndexes.html" title="struct servers::semantic::SemanticIndexes">Semantic<wbr>Indexes</a></dt><dd>Schema-aware collection of <a href="struct.SemanticIndex.html" title="struct servers::semantic::SemanticIndex"><code>SemanticIndex</code></a>es: Prometheus remote write lets
each series override the target schema with a special label, so one request
may write the same metric name into several schemas — their metadata must
not collapse into each other.</dd></dl><h2 id="constants" class="section-header">Constants<a href="#constants" class="anchor">§</a></h2><dl class="item-table"><dt><a class="constant" href="constant.METRIC_TYPE_COUNTER.html" title="constant servers::semantic::METRIC_TYPE_COUNTER">METRIC_<wbr>TYPE_<wbr>COUNTER</a></dt><dt><a class="constant" href="constant.METRIC_TYPE_GAUGE.html" title="constant servers::semantic::METRIC_TYPE_GAUGE">METRIC_<wbr>TYPE_<wbr>GAUGE</a></dt><dt><a class="constant" href="constant.METRIC_TYPE_GAUGE_HISTOGRAM.html" title="constant servers::semantic::METRIC_TYPE_GAUGE_HISTOGRAM">METRIC_<wbr>TYPE_<wbr>GAUGE_<wbr>HISTOGRAM</a></dt><dt><a class="constant" href="constant.METRIC_TYPE_HISTOGRAM.html" title="constant servers::semantic::METRIC_TYPE_HISTOGRAM">METRIC_<wbr>TYPE_<wbr>HISTOGRAM</a></dt><dt><a class="constant" href="constant.METRIC_TYPE_INFO.html" title="constant servers::semantic::METRIC_TYPE_INFO">METRIC_<wbr>TYPE_<wbr>INFO</a></dt><dt><a class="constant" href="constant.METRIC_TYPE_STATESET.html" title="constant servers::semantic::METRIC_TYPE_STATESET">METRIC_<wbr>TYPE_<wbr>STATESET</a></dt><dt><a class="constant" href="constant.METRIC_TYPE_SUMMARY.html" title="constant servers::semantic::METRIC_TYPE_SUMMARY">METRIC_<wbr>TYPE_<wbr>SUMMARY</a></dt><dt><a class="constant" href="constant.METRIC_TYPE_UPDOWN_COUNTER.html" title="constant servers::semantic::METRIC_TYPE_UPDOWN_COUNTER">METRIC_<wbr>TYPE_<wbr>UPDOWN_<wbr>COUNTER</a></dt></dl><h2 id="functions" class="section-header">Functions<a href="#functions" class="anchor">§</a></h2><dl class="item-table"><dt><a class="fn" href="fn.collapse_value.html" title="fn servers::semantic::collapse_value">collapse_<wbr>value</a><span title="Restricted Visibility">&nbsp;🔒</span> </dt><dd>The collapsed value for a conflicting scalar key: <code>mixed</code> when the key’s
domain accepts it, else <code>unknown</code>. Uses the vocabulary validator as the
single source of truth for which keys allow <code>mixed</code>.</dd><dt><a class="fn" href="fn.openmetrics_unit_to_ucum.html" title="fn servers::semantic::openmetrics_unit_to_ucum">openmetrics_<wbr>unit_<wbr>to_<wbr>ucum</a></dt><dd>Maps an OpenMetrics unit name (open vocabulary full words: <code>seconds</code>,
<code>bytes</code>) to the UCUM code the <code>greptime.semantic.metric.unit</code> option is
defined in. Only the OpenMetrics base units are mapped; anything else is
dropped — a missing unit beats a corrupted cross-protocol vocabulary.</dd></dl></section></div></main></body></html>