public class JvmTelemetry
extends java.lang.Object
cluster_started event (with client="jvm") once
the cluster has formed (Paxos common knowledge) and its node count has settled.
This is the server-side counterpart to the clients' init event. It makes
standalone java -jar h2o.jar and hadoop jar h2odriver.jar
clusters — which no Python/R client ever attaches to — visible to telemetry.
Design constraints:
H2O.CLOUD.leader() emits, so an N-node
cluster produces exactly one event, not N.Paxos._commonKnowledge
("Cloud of size N formed"), then waits for the size to stabilize so a
staggered multi-node / YARN launch reports its final node count.HttpURLConnection, no Java 11+ API.-Dsys.ai.h2o.telemetry.disabled=false.
The DO_NOT_TRACK env var (reacts to 1/0/true/false) and
-Dsys.ai.h2o.telemetry.disabled=true force it off. These switches flip
isEnabled() / the status row.-Dsys.ai.h2o.telemetry.clientLaunched=true; the calling client
already reports that session, so the spawned JVM skips its cluster_started.
This is dedup, not an opt-out — telemetry stays enabled.| Constructor and Description |
|---|
JvmTelemetry() |
| Modifier and Type | Method and Description |
|---|---|
static boolean |
isEnabled()
Whether telemetry would currently emit on this JVM — the inverse of
disabled(). |
static void |
scheduleInitEmit()
Spawn a daemon thread that waits for cloud formation and then emits one
cluster_started event from the leader. |
public static void scheduleInitEmit()
cluster_started event from the leader. No-op when telemetry is opted out.
Safe to call from any startup path; only the leader actually emits.public static boolean isEnabled()
disabled().
Surfaced on CloudV3.telemetry_enabled so clients can show the server's state.