mirror of
https://github.com/GreptimeTeam/greptimedb.git
synced 2026-05-24 00:40:40 +00:00
30 lines
11 KiB
HTML
30 lines
11 KiB
HTML
<!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="Event trait defines the interface for events that can be recorded and persisted as the system table. By default, the event will be persisted as the system table with the following schema:"><title>Event in common_event_recorder::recorder - 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-17e0aaed.css"><meta name="rustdoc-vars" data-root-path="../../" data-static-root-path="../../static.files/" data-current-crate="common_event_recorder" data-themes="" data-resource-suffix="" data-rustdoc-version="1.96.0-nightly (ac7f9ec7d 2026-03-20)" data-channel="nightly" data-search-js="search-63369b7b.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-5013f961.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 trait"><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="#">Event</a></h2></rustdoc-topbar><nav class="sidebar"><div class="sidebar-crate"><h2><a href="../../common_event_recorder/index.html">common_<wbr>event_<wbr>recorder</a><span class="version">1.0.0</span></h2></div><div class="sidebar-elems"><section id="rustdoc-toc"><h2 class="location"><a href="#">Event</a></h2><h3><a href="#required-methods">Required Methods</a></h3><ul class="block"><li><a href="#tymethod.as_any" title="as_any">as_any</a></li><li><a href="#tymethod.event_type" title="event_type">event_type</a></li></ul><h3><a href="#provided-methods">Provided Methods</a></h3><ul class="block"><li><a href="#method.extra_rows" title="extra_rows">extra_rows</a></li><li><a href="#method.extra_schema" title="extra_schema">extra_schema</a></li><li><a href="#method.json_payload" title="json_payload">json_payload</a></li><li><a href="#method.table_name" title="table_name">table_name</a></li><li><a href="#method.timestamp" title="timestamp">timestamp</a></li></ul><h3><a href="#implementors">Implementors</a></h3></section><div id="rustdoc-modnav"><h2><a href="index.html">In common_<wbr>event_<wbr>recorder::<wbr>recorder</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">common_event_recorder</a>::<wbr><a href="index.html">recorder</a></div><h1>Trait <span class="trait">Event</span> <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/common_event_recorder/recorder.rs.html#76-107">Source</a> </span></div><pre class="rust item-decl"><code>pub trait Event:
|
|
<a class="trait" href="https://doc.rust-lang.org/nightly/core/marker/trait.Send.html" title="trait core::marker::Send">Send</a>
|
|
+ <a class="trait" href="https://doc.rust-lang.org/nightly/core/marker/trait.Sync.html" title="trait core::marker::Sync">Sync</a>
|
|
+ <a class="trait" href="https://doc.rust-lang.org/nightly/core/fmt/trait.Debug.html" title="trait core::fmt::Debug">Debug</a> {
|
|
// Required methods
|
|
fn <a href="#tymethod.event_type" class="fn">event_type</a>(&self) -> &<a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.str.html">str</a>;
|
|
<span class="item-spacer"></span> fn <a href="#tymethod.as_any" class="fn">as_any</a>(&self) -> &dyn <a class="trait" href="https://doc.rust-lang.org/nightly/core/any/trait.Any.html" title="trait core::any::Any">Any</a>;
|
|
|
|
// Provided methods
|
|
fn <a href="#method.table_name" class="fn">table_name</a>(&self) -> &<a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.str.html">str</a> { ... }
|
|
<span class="item-spacer"></span> fn <a href="#method.timestamp" class="fn">timestamp</a>(&self) -> Timestamp { ... }
|
|
<span class="item-spacer"></span> fn <a href="#method.json_payload" class="fn">json_payload</a>(&self) -> <a class="type" href="../error/type.Result.html" title="type common_event_recorder::error::Result">Result</a><<a class="enum" href="https://docs.rs/serde_json/1.0.149/serde_json/value/enum.Value.html" title="enum serde_json::value::Value">Value</a>> { ... }
|
|
<span class="item-spacer"></span> fn <a href="#method.extra_schema" class="fn">extra_schema</a>(&self) -> <a class="struct" href="https://doc.rust-lang.org/nightly/alloc/vec/struct.Vec.html" title="struct alloc::vec::Vec">Vec</a><ColumnSchema> { ... }
|
|
<span class="item-spacer"></span> fn <a href="#method.extra_rows" class="fn">extra_rows</a>(&self) -> <a class="type" href="../error/type.Result.html" title="type common_event_recorder::error::Result">Result</a><<a class="struct" href="https://doc.rust-lang.org/nightly/alloc/vec/struct.Vec.html" title="struct alloc::vec::Vec">Vec</a><Row>> { ... }
|
|
}</code></pre><details class="toggle top-doc" open><summary class="hideme"><span>Expand description</span></summary><div class="docblock"><p>Event trait defines the interface for events that can be recorded and persisted as the system table.
|
|
By default, the event will be persisted as the system table with the following schema:</p>
|
|
<ul>
|
|
<li><code>type</code>: the type of the event.</li>
|
|
<li><code>payload</code>: the JSON bytes of the event.</li>
|
|
<li><code>timestamp</code>: the timestamp of the event.</li>
|
|
</ul>
|
|
<p>The event can also add the extra schema and row to the event by overriding the <code>extra_schema</code> and <code>extra_row</code> methods.</p>
|
|
</div></details><h2 id="required-methods" class="section-header">Required Methods<a href="#required-methods" class="anchor">§</a></h2><div class="methods"><details class="toggle method-toggle" open><summary><section id="tymethod.event_type" class="method"><a class="src rightside" href="../../src/common_event_recorder/recorder.rs.html#83">Source</a><h4 class="code-header">fn <a href="#tymethod.event_type" class="fn">event_type</a>(&self) -> &<a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.str.html">str</a></h4></section></summary><div class="docblock"><p>Returns the type of the event.</p>
|
|
</div></details><details class="toggle method-toggle" open><summary><section id="tymethod.as_any" class="method"><a class="src rightside" href="../../src/common_event_recorder/recorder.rs.html#106">Source</a><h4 class="code-header">fn <a href="#tymethod.as_any" class="fn">as_any</a>(&self) -> &dyn <a class="trait" href="https://doc.rust-lang.org/nightly/core/any/trait.Any.html" title="trait core::any::Any">Any</a></h4></section></summary><div class="docblock"><p>Returns the event as any type.</p>
|
|
</div></details></div><h2 id="provided-methods" class="section-header">Provided Methods<a href="#provided-methods" class="anchor">§</a></h2><div class="methods"><details class="toggle method-toggle" open><summary><section id="method.table_name" class="method"><a class="src rightside" href="../../src/common_event_recorder/recorder.rs.html#78-80">Source</a><h4 class="code-header">fn <a href="#method.table_name" class="fn">table_name</a>(&self) -> &<a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.str.html">str</a></h4></section></summary><div class="docblock"><p>Returns the table name of the event.</p>
|
|
</div></details><details class="toggle method-toggle" open><summary><section id="method.timestamp" class="method"><a class="src rightside" href="../../src/common_event_recorder/recorder.rs.html#86-88">Source</a><h4 class="code-header">fn <a href="#method.timestamp" class="fn">timestamp</a>(&self) -> Timestamp</h4></section></summary><div class="docblock"><p>Returns the timestamp of the event. Default to the current time.</p>
|
|
</div></details><details class="toggle method-toggle" open><summary><section id="method.json_payload" class="method"><a class="src rightside" href="../../src/common_event_recorder/recorder.rs.html#91-93">Source</a><h4 class="code-header">fn <a href="#method.json_payload" class="fn">json_payload</a>(&self) -> <a class="type" href="../error/type.Result.html" title="type common_event_recorder::error::Result">Result</a><<a class="enum" href="https://docs.rs/serde_json/1.0.149/serde_json/value/enum.Value.html" title="enum serde_json::value::Value">Value</a>></h4></section></summary><div class="docblock"><p>Returns the event payload as a structured JSON value. It will be encoded as JSONB when stored.</p>
|
|
</div></details><details class="toggle method-toggle" open><summary><section id="method.extra_schema" class="method"><a class="src rightside" href="../../src/common_event_recorder/recorder.rs.html#96-98">Source</a><h4 class="code-header">fn <a href="#method.extra_schema" class="fn">extra_schema</a>(&self) -> <a class="struct" href="https://doc.rust-lang.org/nightly/alloc/vec/struct.Vec.html" title="struct alloc::vec::Vec">Vec</a><ColumnSchema></h4></section></summary><div class="docblock"><p>Add the extra schema to the event with the default schema.</p>
|
|
</div></details><details class="toggle method-toggle" open><summary><section id="method.extra_rows" class="method"><a class="src rightside" href="../../src/common_event_recorder/recorder.rs.html#101-103">Source</a><h4 class="code-header">fn <a href="#method.extra_rows" class="fn">extra_rows</a>(&self) -> <a class="type" href="../error/type.Result.html" title="type common_event_recorder::error::Result">Result</a><<a class="struct" href="https://doc.rust-lang.org/nightly/alloc/vec/struct.Vec.html" title="struct alloc::vec::Vec">Vec</a><Row>></h4></section></summary><div class="docblock"><p>Add the extra rows to the event with the default row.</p>
|
|
</div></details></div><h2 id="implementors" class="section-header">Implementors<a href="#implementors" class="anchor">§</a></h2><div id="implementors-list"></div><script src="../../trait.impl/common_event_recorder/recorder/trait.Event.js" async></script></section></div></main></body></html> |