Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
4 changes: 2 additions & 2 deletions docs/index.html
Original file line number Diff line number Diff line change
Expand Up @@ -29,12 +29,12 @@ <h2>What is STEF?</h2>
<h2>Key Features</h2>
<ul>
<li>Schema-driven binary format.</li>
<li>Support for primitive and composite data types.</li>
<li>Support for primitive, composite and recursive data types.</li>
<li>Columnar encoding, small payloads.</li>
<li>Fast serialization and deserialization.</li>
<li>Extensible schema support.</li>
<li>Network protocol with forward and backward interoperability of schema.</li>
<li>Open specification and reference implementations in Go and Java</li>
<li>Open specification and reference implementations in Go and Java.</li>
</ul>
<a class="button" href="./benchmarks.html">View Benchmarks</a>

Expand Down
7 changes: 3 additions & 4 deletions docs/sdl.html
Original file line number Diff line number Diff line change
Expand Up @@ -77,7 +77,7 @@ <h3>Root Structs</h3>
Timestamp uint64
Span Span
}</code></pre>
<p>When multiple root structs are defined, each record in the stream will be one of the root types, and the STEF format includes type information to distinguish between them during deserialization.</p>
<p>When multiple root structs are defined, each record in the stream will be one of the root types.</p>

<h3>Dictionary Compression</h3>
<p>Fields can use dictionary compression for repeated values using the <code>dict</code> modifier:</p>
Expand All @@ -100,7 +100,7 @@ <h3>Dictionary Compression</h3>
ServiceName string dict(ServiceNames) // Same dictionary as above
SpanName string dict(SpanNames)
}</code></pre>
<p>This sharing enables more efficient compression when the same values appear across different record types.</p>
<p>This sharing enables more efficient compression when the same values appear across different structs.</p>

<h3>Optional Fields</h3>
<p>Fields can be marked as optional, meaning they may not be present in every record:</p>
Expand All @@ -117,7 +117,6 @@ <h2>Arrays</h2>
Numbers []int64
Objects []Person
}</code></pre>
<p>Arrays are variable-length - they can be empty or contain any number of elements.</p>

<h2>Oneofs (Union Types)</h2>
<p>Oneofs define union types that can hold one of several possible field types:</p>
Expand Down Expand Up @@ -150,7 +149,7 @@ <h2>Enums</h2>
Histogram = 2
Summary = 3
}</code></pre>
<p>Enum values must be explicitly assigned unsigned integer values. Multiple number formats are supported:</p>
<p>Enum values must be explicitly assigned unsigned integer values in the 0..2^64-1 range. Multiple number formats are supported:</p>
<ul>
<li><strong>Decimal:</strong> <code>MetricType = 42</code></li>
<li><strong>Hexadecimal:</strong> <code>MetricType = 0x2A</code> or <code>MetricType = 0X2A</code></li>
Expand Down
14 changes: 4 additions & 10 deletions docs/stefgen.html
Original file line number Diff line number Diff line change
Expand Up @@ -82,21 +82,15 @@ <h3>Generate Java Code (Simple)</h3>
<pre><code class="language-bash"># Generate Java code with tests in same directory
stefgen -lang=java -outdir=./java-gen schema.stef</code></pre>

<h2>Supported Languages</h2>
<ul>
<li><strong>Go</strong> - Generates Go structs with serialization methods</li>
<li><strong>Java</strong> - Generates Java classes with serialization support</li>
</ul>

<h2>Generated Code Structure</h2>

<p>stefgen creates:</p>
<ul>
<li>Struct, oneof and multimap definitions matching your STEF schema</li>
<li>Type-safe accessors for all fields</li>
<li>Reader for deserialization</li>
<li>Writer for serialization</li>
<li>Read/write unit tests with randomized inputs, matching the schema</li>
<li>Reader for deserialization for every root struct</li>
<li>Writer for serialization for every root struct</li>
<li>Read/write unit tests with randomized inputs</li>
</ul>

<h2>Example Workflow</h2>
Expand Down Expand Up @@ -134,7 +128,7 @@ <h3>3. Use Generated Code</h3>
// Flush the stream to the buffer.
writer.Flush()</code></pre>

<p class="footer-note">For more information about STEF schema syntax and features, see the <a href="https://github.com/splunk/stef/blob/main/stef-spec/specification.md">STEF Specification</a>.</p>
<p class="footer-note">For more information about STEF schema syntax and features, see the <a href="sdl.html">STEF Schema Definition Language</a>.</p>
</main>
<script src="https://cdn.jsdelivr.net/npm/[email protected]/prism.js"></script>
<script src="https://cdn.jsdelivr.net/npm/[email protected]/components/prism-go.min.js"></script>
Expand Down
Loading