This is an automated email from the ASF dual-hosted git repository.
vinoth pushed a commit to branch asf-site
in repository https://gitbox.apache.org/repos/asf/hudi.git
The following commit(s) were added to refs/heads/asf-site by this push:
new 9a1b21c Travis CI build asf-site
9a1b21c is described below
commit 9a1b21ce371b5aceab4541adc08c575f64fd3f02
Author: CI <[email protected]>
AuthorDate: Tue Jul 28 13:13:41 2020 +0000
Travis CI build asf-site
---
content/cn/docs/configurations.html | 10 +++++++
content/docs/configurations.html | 10 +++++++
content/docs/metrics.html | 52 +++++++++++++++++++++++++++++++++++++
3 files changed, 72 insertions(+)
diff --git a/content/cn/docs/configurations.html
b/content/cn/docs/configurations.html
index 6e49d8d..589e8d4 100644
--- a/content/cn/docs/configurations.html
+++ b/content/cn/docs/configurations.html
@@ -880,6 +880,16 @@ Hudi提供了一个选项,可以通过将对该分区中的插入作为对现
<p>属性: <code
class="highlighter-rouge">hoodie.metrics.datadog.metric.tags</code> <br />
<span style="color:grey">Datadog指标标签(逗号分隔),将和指标数据一并发送。</span></p>
+<h4 id="用户自定义发送器">用户自定义发送器</h4>
+
+<h5 id="on">on(metricsOn = false)</h5>
+<p>属性: <code class="highlighter-rouge">hoodie.metrics.on</code> <br />
+<span style="color:grey">打开或关闭发送指标。默认情况下处于关闭状态。</span></p>
+
+<h5 id="withReporterClass">withReporterClass(className = “”)</h5>
+<p>属性: <code class="highlighter-rouge">hoodie.metrics.reporter.class</code>
<br />
+<span
style="color:grey">用于处理发送指标的用户自定义类,必须是AbstractUserDefinedMetricsReporter类的子类.</span></p>
+
<h3 id="内存配置">内存配置</h3>
<p>控制由Hudi内部执行的压缩和合并的内存使用情况
<a href="#withMemoryConfig">withMemoryConfig</a> (HoodieMemoryConfig) <br />
diff --git a/content/docs/configurations.html b/content/docs/configurations.html
index db94025..69aab3f 100644
--- a/content/docs/configurations.html
+++ b/content/docs/configurations.html
@@ -857,6 +857,16 @@ HoodieWriteConfig can be built using a builder pattern as
below.</p>
<p>Property: <code
class="highlighter-rouge">hoodie.metrics.datadog.metric.tags</code> <br />
<span style="color:grey">Datadog metric tags (comma-delimited) to be sent
along with metrics data.</span></p>
+<h4 id="user-defined-reporter">USER DEFINED REPORTER</h4>
+
+<h5 id="on">on(metricsOn = false)</h5>
+<p><code class="highlighter-rouge">hoodie.metrics.on</code> <br />
+<span style="color:grey">Turn on/off metrics reporting. off by
default.</span></p>
+
+<h5 id="withReporterClass">withReporterClass(className = “”)</h5>
+<p>Property: <code
class="highlighter-rouge">hoodie.metrics.reporter.class</code> <br />
+<span style="color:grey">User-defined class used to report metrics, must be a
subclass of AbstractUserDefinedMetricsReporter.</span></p>
+
<h3 id="memory-configs">Memory configs</h3>
<p>Controls memory usage for compaction and merges, performed internally by
Hudi
<a href="#withMemoryConfig">withMemoryConfig</a> (HoodieMemoryConfig) <br />
diff --git a/content/docs/metrics.html b/content/docs/metrics.html
index 4eb3020..f537328 100644
--- a/content/docs/metrics.html
+++ b/content/docs/metrics.html
@@ -371,6 +371,7 @@
<li><a href="#jmxmetricsreporter">JmxMetricsReporter</a></li>
<li><a href="#metricsgraphitereporter">MetricsGraphiteReporter</a></li>
<li><a href="#datadogmetricsreporter">DatadogMetricsReporter</a></li>
+ <li><a
href="#userdefinedmetricsreporter">UserDefinedMetricsReporter</a></li>
</ul>
</li>
<li><a href="#hoodiemetrics">HoodieMetrics</a></li>
@@ -465,6 +466,57 @@ A reporter which publishes metric values to Datadog
monitoring service via Datad
<li><code class="highlighter-rouge"><prefix>.<table
name>.deltastreamer.hiveSyncDuration</code></li>
</ul>
+<h3 id="userdefinedmetricsreporter">UserDefinedMetricsReporter</h3>
+
+<p>Allows users to define a custom metrics reporter.</p>
+
+<h4 id="configurations-3">Configurations</h4>
+<p>The following is an example of <code
class="highlighter-rouge">UserDefinedMetricsReporter</code>. More detailed
configurations can be referenced <a
href="configurations.html#user-defined-reporter">here</a>.</p>
+
+<div class="language-properties highlighter-rouge"><div class="highlight"><pre
class="highlight"><code><span class="py">hoodie.metrics.on</span><span
class="p">=</span><span class="s">true</span>
+<span class="py">hoodie.metrics.reporter.class</span><span
class="p">=</span><span class="s">test.TestUserDefinedMetricsReporter</span>
+</code></pre></div></div>
+
+<h4 id="demo-3">Demo</h4>
+<p>In this simple demo, TestMetricsReporter will print all gauges every 10
seconds</p>
+
+<div class="language-java highlighter-rouge"><div class="highlight"><pre
class="highlight"><code><span class="kd">public</span> <span
class="kd">static</span> <span class="kd">class</span> <span
class="nc">TestUserDefinedMetricsReporter</span>
+ <span class="kd">extends</span> <span
class="nc">AbstractUserDefinedMetricsReporter</span> <span class="o">{</span>
+ <span class="kd">private</span> <span class="kd">static</span> <span
class="kd">final</span> <span class="nc">Logger</span> <span
class="n">log</span> <span class="o">=</span> <span
class="nc">LogManager</span><span class="o">.</span><span
class="na">getLogger</span><span class="o">(</span><span
class="nc">DummyMetricsReporter</span><span class="o">.</span><span
class="na">class</span><span class="o">);</span>
+
+ <span class="kd">private</span> <span
class="nc">ScheduledExecutorService</span> <span class="n">exec</span> <span
class="o">=</span> <span class="nc">Executors</span><span
class="o">.</span><span class="na">newScheduledThreadPool</span><span
class="o">(</span><span class="mi">1</span><span class="o">,</span> <span
class="n">r</span> <span class="o">-></span> <span class="o">{</span>
+ <span class="nc">Thread</span> <span class="n">t</span> <span
class="o">=</span> <span class="nc">Executors</span><span
class="o">.</span><span class="na">defaultThreadFactory</span><span
class="o">().</span><span class="na">newThread</span><span
class="o">(</span><span class="n">r</span><span class="o">);</span>
+ <span class="n">t</span><span class="o">.</span><span
class="na">setDaemon</span><span class="o">(</span><span
class="kc">true</span><span class="o">);</span>
+ <span class="k">return</span> <span class="n">t</span><span
class="o">;</span>
+ <span class="o">});</span>
+
+ <span class="kd">public</span> <span
class="nf">TestUserDefinedMetricsReporter</span><span class="o">(</span><span
class="nc">Properties</span> <span class="n">props</span><span
class="o">,</span> <span class="nc">MetricRegistry</span> <span
class="n">registry</span><span class="o">)</span> <span class="o">{</span>
+ <span class="kd">super</span><span class="o">(</span><span
class="n">props</span><span class="o">,</span> <span
class="n">registry</span><span class="o">);</span>
+ <span class="o">}</span>
+
+ <span class="nd">@Override</span>
+ <span class="kd">public</span> <span class="kt">void</span> <span
class="nf">start</span><span class="o">()</span> <span class="o">{</span>
+ <span class="n">exec</span><span class="o">.</span><span
class="na">schedule</span><span class="o">(</span><span
class="k">this</span><span class="o">::</span><span
class="n">report</span><span class="o">,</span> <span class="mi">10</span><span
class="o">,</span> <span class="nc">TimeUnit</span><span
class="o">.</span><span class="na">SECONDS</span><span class="o">);</span>
+ <span class="o">}</span>
+
+ <span class="nd">@Override</span>
+ <span class="kd">public</span> <span class="kt">void</span> <span
class="nf">report</span><span class="o">()</span> <span class="o">{</span>
+ <span class="k">this</span><span class="o">.</span><span
class="na">getRegistry</span><span class="o">().</span><span
class="na">getGauges</span><span class="o">().</span><span
class="na">forEach</span><span class="o">((</span><span
class="n">key</span><span class="o">,</span> <span class="n">value</span><span
class="o">)</span> <span class="o">-></span>
+ <span class="n">log</span><span class="o">.</span><span
class="na">info</span><span class="o">(</span><span class="s">"key: "</span>
<span class="o">+</span> <span class="n">key</span> <span class="o">+</span>
<span class="s">" value: "</span> <span class="o">+</span> <span
class="n">value</span><span class="o">.</span><span
class="na">getValue</span><span class="o">().</span><span
class="na">toString</span><span class="o">()));</span>
+ <span class="o">}</span>
+
+ <span class="nd">@Override</span>
+ <span class="kd">public</span> <span class="nc">Closeable</span> <span
class="nf">getReporter</span><span class="o">()</span> <span class="o">{</span>
+ <span class="k">return</span> <span class="kc">null</span><span
class="o">;</span>
+ <span class="o">}</span>
+
+ <span class="nd">@Override</span>
+ <span class="kd">public</span> <span class="kt">void</span> <span
class="nf">stop</span><span class="o">()</span> <span class="o">{</span>
+ <span class="n">exec</span><span class="o">.</span><span
class="na">shutdown</span><span class="o">();</span>
+ <span class="o">}</span>
+<span class="o">}</span>
+</code></pre></div></div>
+
<h2 id="hoodiemetrics">HoodieMetrics</h2>
<p>Once the Hudi writer is configured with the right table and environment for
<code class="highlighter-rouge">HoodieMetrics</code>, it produces the following
<code class="highlighter-rouge">HoodieMetrics</code>, that aid in debugging
hudi tables</p>