You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@ignite.apache.org by ab...@apache.org on 2020/08/07 15:02:59 UTC
[ignite] branch IGNITE-7595 updated: update the new metrics page
This is an automated email from the ASF dual-hosted git repository.
abudnikov pushed a commit to branch IGNITE-7595
in repository https://gitbox.apache.org/repos/asf/ignite.git
The following commit(s) were added to refs/heads/IGNITE-7595 by this push:
new 3c6802f update the new metrics page
3c6802f is described below
commit 3c6802f12cf59de5e123c1c0f3d54218e7620492
Author: abudnikov <ab...@gridgain.com>
AuthorDate: Fri Aug 7 18:02:25 2020 +0300
update the new metrics page
---
docs/README.adoc | 1 -
docs/_data/toc.yaml | 6 +-
.../apache/ignite/snippets/ConfiguringMetrics.java | 57 ++++++++++-
docs/_docs/code-snippets/xml/metrics.xml | 37 +++++++
docs/_docs/monitoring-metrics/new-metrics.adoc | 110 ++++++++++++++++++++-
5 files changed, 207 insertions(+), 4 deletions(-)
diff --git a/docs/README.adoc b/docs/README.adoc
index 9412629..fd97e6f 100644
--- a/docs/README.adoc
+++ b/docs/README.adoc
@@ -95,7 +95,6 @@ link:https://docs.oracle.com/javase/8/docs/technotes/guides/security/SunProvider
----
-
=== Tabs
We use custom syntax to insert tabs. Tabs are used to provide code samples for different programming languages.
diff --git a/docs/_data/toc.yaml b/docs/_data/toc.yaml
index d3542e4..a1238d8 100644
--- a/docs/_data/toc.yaml
+++ b/docs/_data/toc.yaml
@@ -18,7 +18,11 @@
- title: Google Kubernetes Engine
url: /installation/kubernetes/gke-deployment
- title: Setting Up
- url: /setup
+ items:
+ - title: Setting Up GridGain for Java
+ url: /developers-guide/setup
+ - title: Setting Up GridGain for .NET/C#
+ url: /developers-guide/setup-dotnet
- title: Understanding Configuration
url: /understanding-configuration
- title: Configuring Logging
diff --git a/docs/_docs/code-snippets/java/src/main/java/org/apache/ignite/snippets/ConfiguringMetrics.java b/docs/_docs/code-snippets/java/src/main/java/org/apache/ignite/snippets/ConfiguringMetrics.java
index 498cad9..fa7f196 100644
--- a/docs/_docs/code-snippets/java/src/main/java/org/apache/ignite/snippets/ConfiguringMetrics.java
+++ b/docs/_docs/code-snippets/java/src/main/java/org/apache/ignite/snippets/ConfiguringMetrics.java
@@ -7,6 +7,7 @@ import org.apache.ignite.configuration.DataRegionConfiguration;
import org.apache.ignite.configuration.DataStorageConfiguration;
import org.apache.ignite.configuration.IgniteConfiguration;
import org.apache.ignite.spi.metric.jmx.JmxMetricExporterSpi;
+import org.apache.ignite.spi.metric.log.LogExporterSpi;
import org.apache.ignite.spi.metric.sql.SqlViewMetricExporterSpi;
import org.junit.jupiter.api.Test;
@@ -92,8 +93,62 @@ public class ConfiguringMetrics {
cfg.setMetricExporterSpi(new JmxMetricExporterSpi(), new SqlViewMetricExporterSpi());
- Ignition.start(cfg);
+ Ignite ignite = Ignition.start(cfg);
//end::new-metric-framework[]
+ ignite.close();
+ }
+
+ @Test
+ void sqlExporter() {
+
+ //tag::sql-exporter[]
+ IgniteConfiguration cfg = new IgniteConfiguration();
+
+ SqlViewMetricExporterSpi jmxExporter = new SqlViewMetricExporterSpi();
+
+ //export cache metrics only
+ jmxExporter.setExportFilter(mreg -> mreg.name().startsWith("cache."));
+
+ cfg.setMetricExporterSpi(jmxExporter);
+ //end::sql-exporter[]
+
+ Ignition.start(cfg).close();
+ }
+
+ @Test
+ void jmxExporter() {
+
+ //tag::metrics-filter[]
+ IgniteConfiguration cfg = new IgniteConfiguration();
+
+ JmxMetricExporterSpi jmxExporter = new JmxMetricExporterSpi();
+
+ //export cache metrics only
+ jmxExporter.setExportFilter(mreg -> mreg.name().startsWith("cache."));
+
+ cfg.setMetricExporterSpi(jmxExporter);
+ //end::metrics-filter[]
+
+ Ignition.start(cfg).close();
+ }
+
+ @Test
+ void logExporter() {
+
+ //tag::log-exporter[]
+ IgniteConfiguration cfg = new IgniteConfiguration();
+
+ LogExporterSpi logExporter = new LogExporterSpi();
+
+ //export cache metrics only
+ logExporter.setExportFilter(mreg -> mreg.name().startsWith("cache."));
+
+ cfg.setMetricExporterSpi(logExporter);
+
+ Ignite ignite = Ignition.start(cfg);
+ //end::log-exporter[]
+
+ ignite.close();
}
}
diff --git a/docs/_docs/code-snippets/xml/metrics.xml b/docs/_docs/code-snippets/xml/metrics.xml
new file mode 100644
index 0000000..4ac24b9
--- /dev/null
+++ b/docs/_docs/code-snippets/xml/metrics.xml
@@ -0,0 +1,37 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<beans xmlns="http://www.springframework.org/schema/beans" xmlns:util="http://www.springframework.org/schema/util" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation=" http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans.xsd http://www.springframework.org/schema/util http://www.springframework.org/schema/util/spring-util.xsd">
+ <!-- tag::ignite-config[] -->
+ <bean class="org.apache.ignite.configuration.IgniteConfiguration">
+ <property name="metricExporterSpi">
+ <list>
+ <!-- tag::jmx-exporter[] -->
+ <bean class="org.apache.ignite.spi.metric.jmx.JmxMetricExporterSpi"/>
+ <!-- end::jmx-exporter[] -->
+ <!-- tag::sql-exporter[] -->
+ <bean class="org.apache.ignite.spi.metric.sql.SqlViewMetricExporterSpi"/>
+ <!-- end::sql-exporter[] -->
+ <!-- tag::log-exporter[] -->
+ <bean class="org.apache.ignite.spi.metric.log.LogExporterSpi"/>
+ <!-- end::log-exporter[] -->
+ </list>
+ </property>
+ <!-- tag::discovery[] -->
+ <property name="discoverySpi">
+ <bean class="org.apache.ignite.spi.discovery.tcp.TcpDiscoverySpi">
+ <!-- prevent this client from reconnecting on connection loss -->
+ <property name="clientReconnectDisabled" value="true"/>
+ <property name="ipFinder">
+ <bean class="org.apache.ignite.spi.discovery.tcp.ipfinder.vm.TcpDiscoveryVmIpFinder">
+ <property name="addresses">
+ <list>
+ <value>127.0.0.1:47500..47509</value>
+ </list>
+ </property>
+ </bean>
+ </property>
+ </bean>
+ </property>
+ <!-- end::discovery[] -->
+ </bean>
+ <!-- end::ignite-config[] -->
+</beans>
diff --git a/docs/_docs/monitoring-metrics/new-metrics.adoc b/docs/_docs/monitoring-metrics/new-metrics.adoc
index ddb34d9..c79ba05 100644
--- a/docs/_docs/monitoring-metrics/new-metrics.adoc
+++ b/docs/_docs/monitoring-metrics/new-metrics.adoc
@@ -2,18 +2,126 @@
:javaFile: {javaCodeDir}/ConfiguringMetrics.java
+WARNING: Experimental
+
+Ignite 2.8 introduced a new mechanism for collecting metrics which is intended to replace the legacy metrics system.
+
+Let's first explore the basic concepts of the new metrics mechanism in Ignite.
+
+There are different metrics, and then there are different ways to export the metrics — what we call _exporters_.
+To put it another way, the exporter are different ways you can access the metrics.
+
+Each metric has a name and a return value.
+The return value can be a simple value like `String`, `long`, or `double`, or can represent a Java object.
+Some metrics represent <<histograms>>.
+
+Ignite includes the following exporters:
+
+* JMX
+* SQL Views
+* Log files
+* Open Census
+
+You can create a custom exporter by implementing the javadoc:org.apache.ignite.spi.metric.MetricExporterSpi[] interface.
+
+
+== Configuring Metric Exporters
+
+If you want to enable metrics, configure one or multiple metric exporters in the node configuration.
+This is a node-specific configuration, which means it enables metrics only on the node where it is specified.
+
[tabs]
--
tab:XML[]
+[source, xml]
+----
+include::code-snippets/xml/metrics.xml[tags=ignite-config;!discovery, indent=0]
+----
tab:Java[]
[source, java]
----
-include::{javaFile}[tags=, indent=0]
+include::{javaFile}[tags=new-metric-framework, indent=0]
----
+tab:C#/.NET[]
+
+tab:C++[unsupported]
+--
+
+The following sections describe the exporters available in Ignite by default.
+
+
+=== JMX
+
+`org.apache.ignite.spi.metric.jmx.JmxMetricExporterSpi` exposes metrics via JMX beans.
+
+[tabs]
+--
+tab:Java[]
+[source, java]
+----
+include::{javaFile}[tags=metrics-filter, indent=0]
+----
+
+tab:C#/.NET[]
+
+tab:C++[unsupported]
+--
+
+
+=== SQL View
+
+`org.apache.ignite.spi.metric.sql.SqlViewMetricExporterSpi` exposes metrics via the `SYS.METRICS` view.
+Each metric is displayed as a single record.
+
+[tabs]
+--
+tab:XML[]
+[source, xml]
+----
+include::code-snippets/xml/metrics.xml[tags=!*;ignite-config;sql-exporter, indent=0]
+----
+
+tab:Java[]
+
+[source, java]
+----
+include::{javaFile}[tags=sql-exporter, indent=0]
+----
+
+tab:C#/.NET[]
+tab:C++[]
+--
+
+=== Log
+
+`org.apache.ignite.spi.metric.log.LogExporterSpi` prints the metrics to the log file at regular intervals (1 min by default) at INFO level.
+
+[tabs]
+--
+tab:XML[]
+
+[source, xml]
+----
+include::code-snippets/xml/metrics.xml[tags=!*;ignite-config;log-exporter, indent=0]
+----
+
+
+tab:Java[]
+[source, java]
+----
+include::{javaFile}[tags=log-exporter, indent=0]
+----
tab:C#/.NET[]
tab:C++[]
--
+
+=== OpenCensus
+
+`org.apache.ignite.spi.metric.opencensus.OpenCensusMetricExporterSpi`
+
+== Histograms
+