From 08cdfede8e5c44d83ca29f59aa0b6f5504a345e4 Mon Sep 17 00:00:00 2001 From: Qijing Li Date: Wed, 17 May 2017 12:56:21 -0700 Subject: [PATCH] Initial Druid Metrics Integration --- Druid/Images/120x60.png | Bin 0 -> 6123 bytes Druid/Images/128x128.png | Bin 0 -> 14891 bytes Druid/Images/200x128.png | Bin 0 -> 17064 bytes Druid/description.html | 70 ++++++++++ Druid/metrics.csv | 121 +++++++++++++++++ Druid/preview.css | 282 +++++++++++++++++++++++++++++++++++++++ Druid/screenboard.json | 1 + 7 files changed, 474 insertions(+) create mode 100644 Druid/Images/120x60.png create mode 100644 Druid/Images/128x128.png create mode 100644 Druid/Images/200x128.png create mode 100644 Druid/description.html create mode 100644 Druid/metrics.csv create mode 100644 Druid/preview.css create mode 100644 Druid/screenboard.json diff --git a/Druid/Images/120x60.png b/Druid/Images/120x60.png new file mode 100644 index 0000000000000000000000000000000000000000..3eb90451e13e3069eba3347b5124abc322d4a20a GIT binary patch literal 6123 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 literal 0 HcmV?d00001 diff --git a/Druid/Images/128x128.png b/Druid/Images/128x128.png new file mode 100644 index 0000000000000000000000000000000000000000..99b45aa96c9d3eb502cb089debea30b144b139bb GIT binary patch literal 14891 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 literal 0 HcmV?d00001 diff --git a/Druid/Images/200x128.png b/Druid/Images/200x128.png new file mode 100644 index 0000000000000000000000000000000000000000..abc1ffdebe3af5e9c9f9bc4e8313e75e3d084aa5 GIT binary patch literal 17064 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 literal 0 HcmV?d00001 diff --git a/Druid/description.html b/Druid/description.html new file mode 100644 index 0000000..96b91bb --- /dev/null +++ b/Druid/description.html @@ -0,0 +1,70 @@ + + + + + + + + +

Tile preview

+
+
+ +
+
+

Druid

+
+ +
+
Druid is an open-source data store designed for sub-second queries on real-time and historical data.
+
+
+ +
+

Overview

+

Get metrics from Druid related to queries, ingestion, and coordination in real time

+
    +
  • Visualize performance metrics
  • +
+

+ +

+
+ + + + diff --git a/Druid/metrics.csv b/Druid/metrics.csv new file mode 100644 index 0000000..98738fa --- /dev/null +++ b/Druid/metrics.csv @@ -0,0 +1,121 @@ +druid.broker.jetty.numOpenConnections,count,,connection,per_unit_name,Number of open jetty connections.,0,druid,druid +druid.broker.jvm.bufferpool.capacity,gauge,,byte,,Bufferpool capacity.,0,, +druid.broker.jvm.bufferpool.count,count,,,,Bufferpool count.,0,, +druid.broker.jvm.bufferpool.used,gauge,,byte,,Bufferpool used.,1,, +druid.broker.jvm.gc.count,count,,,,Garbage collection count.,0,, +druid.broker.jvm.gc.time,timer,,second,,Garbage collection time.,0,, +druid.broker.jvm.mem.committed,gauge,,byte,,Committed memory.,1,, +druid.broker.jvm.mem.init,gauge,,byte,,Initial memory.,0,, +druid.broker.jvm.mem.max,gauge,,byte,,Max memory.,0,, +druid.broker.jvm.mem.used,gauge,,byte,,Used memory.,0,, +druid.broker.jvm.pool.committed,gauge,,byte,,Committed pool.,1,, +druid.broker.jvm.pool.init,gauge,,byte,,Initial pool.,0,, +druid.broker.jvm.pool.max,gauge,,byte,,Max pool.,0,, +druid.broker.jvm.pool.used,gauge,,byte,,Pool used.,-1,, +druid.broker.query.bytes,gauge,,byte,,number of bytes returned in query response.,0,, +druid.broker.query.cache.delta.averageBytes,count,,byte,,Average cache entry byte size since the last emission.,0,, +druid.broker.query.cache.delta.errors,count,,error,,Number of cache errors since the last emission.,-1,, +druid.broker.query.cache.delta.evictions,count,,eviction,,Number of cache evictions since the last emission.,0,, +druid.broker.query.cache.delta.hitRate,count,,hit,second,Cache hit rate since the last emission.,1,, +druid.broker.query.cache.delta.hits,count,,hit,,Number of cache hits since the last emission.,0,, +druid.broker.query.cache.delta.misses,count,,miss,,Number of cache misses since the last emission since the last emission.,-1,, +druid.broker.query.cache.delta.numEntries,count,,entry,,Number of cache entries since the last emission.,0,, +druid.broker.query.cache.delta.sizeBytes,count,,byte,entry,Size in bytes of cache entries since the last emission.,0,, +druid.broker.query.cache.delta.timeouts,count,,rate,,Number of cache timeouts since the last emission.,0,, +druid.broker.query.cache.total.averageBytes,gauge,,byte,,Average total cache byte size.,0,, +druid.broker.query.cache.total.errors,gauge,,error,,Number of total cache errors.,-1,, +druid.broker.query.cache.total.evictions,gauge,,eviction,,Number of total cache evictions.,0,, +druid.broker.query.cache.total.hitRate,gauge,,hit,second,Number of total cache hits.,0,, +druid.broker.query.cache.total.hits,gauge,,hit,,Number of total cache hits.,0,, +druid.broker.query.cache.total.misses,gauge,,miss,,Number of total cache misses.,0,, +druid.broker.query.cache.total.numEntries,gauge,,entry,,Number of total cache entries.,0,, +druid.broker.query.cache.total.sizeBytes,gauge,,byte,entry,Size in bytes of total cache entries.,0,, +druid.broker.query.cache.total.timeouts,gauge,,rate,,Number of total cache timeouts.,0,, +druid.broker.query.cpu.time,timer,,microsecond,query,Microseconds of CPU time taken to complete a query,0,, +druid.broker.query.node.bytes,count,,byte,historical node,number of bytes returned from querying individual historical/realtime nodes.,0,, +druid.broker.query.node.time,timer,,millisecond,historical node,Milliseconds taken to query individual historical/realtime nodes.,0,, +druid.broker.query.node.ttfb,timer,,millisecond,,Time to first byte. Milliseconds elapsed until broker starts receiving the response from individual historical/realtime nodes.,0,, +druid.broker.query.time,timer,,millisecond,,Milliseconds taken to complete a query.,0,, +druid.broker.segment.scan.pending,gauge,,,,Number of segments in queue waiting to be scanned.,0,, +druid.coordinator.jetty.numOpenConnections,count,,connection,per_unit_name,Number of open jetty connections.,0,, +druid.coordinator.jvm.bufferpool.capacity,gauge,,byte,,Bufferpool capacity.,0,, +druid.coordinator.jvm.bufferpool.count,count,,,,Bufferpool count.,0,, +druid.coordinator.jvm.bufferpool.used,gauge,,byte,,Bufferpool used.,1,, +druid.coordinator.jvm.gc.count,count,,,,Garbage collection count.,0,, +druid.coordinator.jvm.gc.time,timer,,second,,Garbage collection time.,0,, +druid.coordinator.jvm.mem.committed,gauge,,byte,,Committed memory.,1,, +druid.coordinator.jvm.mem.init,gauge,,byte,,Initial memory.,0,, +druid.coordinator.jvm.mem.max,gauge,,byte,,Max memory.,0,, +druid.coordinator.jvm.mem.used,gauge,,byte,,Used memory.,0,, +druid.coordinator.jvm.pool.committed,gauge,,,,Committed pool.,1,, +druid.coordinator.jvm.pool.init,gauge,,byte,,Initial pool.,0,, +druid.coordinator.jvm.pool.max,gauge,,byte,,Max pool.,0,, +druid.coordinator.jvm.pool.used,gauge,,byte,,Pool used.,-1,, +druid.coordinator.segment.assigned.count,gauge,,,,Number of segments assigned to be loaded in the cluster.,0,, +druid.coordinator.segment.count,gauge,,,,Number of available segments.,0,, +druid.coordinator.segment.dropped.count,gauge,,,,Number of segments dropped due to being overshadowed.,0,, +druid.coordinator.segment.dropQueue.count,gauge,,,,Number of segments to drop.,0,, +druid.coordinator.segment.loadQueue.count,gauge,,,,Number of segments to load.,0,, +druid.coordinator.segment.loadQueue.failed,gauge,,,,Number of segments that failed to load.,-1,, +druid.coordinator.segment.loadQueue.size,gauge,,byte,,Size in bytes of segments to load.,0,, +druid.coordinator.segment.moved.count,count,,,,Number of segments moved in the cluster.,0,, +druid.coordinator.segment.overShadowed.count,gauge,,,,Number of overShadowed segments.,0,, +druid.coordinator.segment.size,gauge,,byte,,Size in bytes of available segments.,0,, +druid.coordinator.segment.unavailable.count,gauge,,,,Number of segments (not including replicas) left to load until segments that should be loaded in the cluster are available for queries.,-1,, +druid.coordinator.segment.underReplicated.count,gauge,,,,Number of segments (including replicas) left to load until segments that should be loaded in the cluster are available for queries.,-1,, +druid.coordinator.segment.unneeded.count,count,,,,Number of segments dropped due to being marked as unused.,0,, +druid.historical.jetty.numOpenConnections,count,,connection,per_unit_name,Number of open jetty connections.,0,, +druid.historical.jvm.bufferpool.capacity,gauge,,byte,,Bufferpool capacity.,0,, +druid.historical.jvm.bufferpool.count,count,,,,Bufferpool count.,0,, +druid.historical.jvm.bufferpool.used,gauge,,byte,,Bufferpool used.,1,, +druid.historical.jvm.gc.count,count,,,,Garbage collection count.,-1,, +druid.historical.jvm.gc.time,timer,,second,,Garbage collection time.,0,, +druid.historical.jvm.mem.committed,gauge,,byte,,Committed memory.,1,, +druid.historical.jvm.mem.init,gauge,,byte,,Initial memory.,0,, +druid.historical.jvm.mem.max,gauge,,byte,,Max memory.,0,, +druid.historical.jvm.mem.used,gauge,,byte,,Used memory.,0,, +druid.historical.jvm.pool.committed,gauge,,,,Committed pool.,1,, +druid.historical.jvm.pool.init,gauge,,byte,,Initial pool.,0,, +druid.historical.jvm.pool.max,gauge,,byte,,Max pool.,0,, +druid.historical.jvm.pool.used,gauge,,byte,,Pool used.,-1,, +druid.historical.query.bytes,gauge,,byte,,number of bytes returned in query response.,0,, +druid.historical.query.cache.delta.averageBytes,count,,byte,,Average cache entry byte size since the last emission.,0,, +druid.historical.query.cache.delta.errors,count,,error,,Number of cache errors since the last emission.,-1,, +druid.historical.query.cache.delta.evictions,count,,eviction,,Number of cache evictions since the last emission.,0,, +druid.historical.query.cache.delta.hitRate,count,,hit,second,Cache hit rate since the last emission.,0,, +druid.historical.query.cache.delta.hits,count,,hit,,Number of cache hits since the last emission.,0,, +druid.historical.query.cache.delta.misses,count,,miss,,Number of cache misses since the last emission since the last emission.,-1,, +druid.historical.query.cache.delta.numEntries,count,,entry,,Number of cache entries since the last emission.,0,, +druid.historical.query.cache.delta.sizeBytes,count,,byte,entry,Size in bytes of cache entries since the last emission.,0,, +druid.historical.query.cache.delta.timeouts,count,,rate,,Number of cache timeouts since the last emission.,0,, +druid.historical.query.cache.total.averageBytes,gauge,,byte,,Average total cache byte size.,0,, +druid.historical.query.cache.total.errors,gauge,,error,,Number of total cache errors.,-1,, +druid.historical.query.cache.total.evictions,gauge,,eviction,,Number of total cache evictions.,0,, +druid.historical.query.cache.total.hitRate,gauge,,hit,second,Number of total cache hits.,0,, +druid.historical.query.cache.total.hits,gauge,,hit,,Number of total cache hits.,0,, +druid.historical.query.cache.total.misses,gauge,,miss,,Number of total cache misses.,0,, +druid.historical.query.cache.total.numEntries,gauge,,entry,,Number of total cache entries.,0,, +druid.historical.query.cache.total.sizeBytes,gauge,,byte,entry,Size in bytes of total cache entries.,0,, +druid.historical.query.cache.total.timeouts,gauge,,rate,,Number of total cache timeouts.,0,, +druid.historical.query.cpu.time,timer,,microsecond,query,Microseconds of CPU time taken to complete a query,0,, +druid.historical.query.segment.time,timer,,millisecond,segment,Milliseconds taken to query individual segment. Includes time to page in the segment from disk.,-1,, +druid.historical.query.segmentAndCache.time,timer,,millisecond,,Milliseconds taken to query individual segment or hit the cache (if it is enabled on the historical node).,-1,, +druid.historical.query.time,timer,,millisecond,query,Milliseconds taken to complete a query.,-1,, +druid.historical.query.wait.time,timer,,millisecond,segment,Milliseconds spent waiting for a segment to be scanned.,-1,, +druid.historical.segment.scan.pending,gauge,,,,Number of segments in queue waiting to be scanned.,-1,, +druid.overlord.jetty.numOpenConnections,count,,connection,per_unit_name,Number of open jetty connections.,0,, +druid.overlord.jvm.bufferpool.capacity,gauge,,byte,,Bufferpool capacity.,0,, +druid.overlord.jvm.bufferpool.count,count,,,,Bufferpool count.,0,, +druid.overlord.jvm.bufferpool.used,gauge,,byte,,Bufferpool used.,1,, +druid.overlord.jvm.gc.count,count,,,,Garbage collection count.,0,, +druid.overlord.jvm.gc.time,timer,,second,,Garbage collection time.,0,, +druid.overlord.jvm.mem.committed,gauge,,byte,,Committed memory.,1,, +druid.overlord.jvm.mem.init,gauge,,byte,,Initial memory.,0,, +druid.overlord.jvm.mem.max,gauge,,byte,,Max memory.,0,, +druid.overlord.jvm.mem.used,gauge,,byte,,Used memory.,0,, +druid.overlord.jvm.pool.committed,gauge,,,,Committed pool.,1,, +druid.overlord.jvm.pool.init,gauge,,byte,,Initial pool.,0,, +druid.overlord.jvm.pool.max,gauge,,byte,,Max pool.,0,, +druid.overlord.jvm.pool.used,gauge,,byte,,Pool used.,-1,, +druid.overlord.segment.added.bytes,count,,byte,,Size in bytes of new segments created.,0,, +druid.overlord.task.run.time,timer,,millisecond,,Milliseconds taken to run task.,0,, diff --git a/Druid/preview.css b/Druid/preview.css new file mode 100644 index 0000000..80ae351 --- /dev/null +++ b/Druid/preview.css @@ -0,0 +1,282 @@ +body { + font: 13px/1.5 'Lucida Grande','Lucida Sans Unicode',Arial,sans-serif; +} +.saas_tile { + position: relative; + float: left; + width: 208px; + height: 202px; + top: 0px; + text-align: center; + background:#f1f2f3; + margin: 1px; + overflow: hidden; + clear: right; +} + +.saas_in{ + position: relative; + top: 0px; + transition: all 0.2s ease; +} + +.saas_tile:hover .saas_in{ + top: -134px; +} + +.saas_avatar { + position: relative; + margin: 4px 0 0; +} + +.saas_name { + margin: 4px 0 0; + font-size: 14px; + font-weight: bold; +} + +.saas_controls { + position: absolute; + bottom: 8px; + left: 0; + right: 0; +} +.saas_description { + margin: 42px 10px; + font-size: 12px; +} + +button { + font-size: inherit; + line-height: 1.5em; + position: relative; + cursor: pointer; + margin: 0 2px; + padding: 3px 0.75em 4px; + font-weight: bold; + color: #4d4d4d; + background: #fff; + border: 1px solid #b4b4b4; + border-bottom-color: #aaa; + border-radius: 4px; + box-sizing: border-box; + box-shadow: none; + z-index: 10; +} + +.text-success { + color: #55b81c !important; +} + +span { + margin: 0; + padding: 0; + border: 0; + outline: 0; + font-size: 100%; + vertical-align: baseline; + background: transparent; +} + +#content { + display: none; +} + +.clearfix:after { + clear: both; + content: ' '; + display: block; + font-size: 0; + line-height: 0; + visibility: hidden; + width: 0; + height: 0; +} + +.integration_content { + width: 960px; + padding: 16px; + clear:both; + border: 1px solid #AAA; + margin: 40px 0px; +} + +.integration_content .desc { + margin: 0; +} + +.integration_header { + position: relative; + margin: 0 -16px 16px; + padding: 0 16px 0; + background-image: -webkit-linear-gradient(bottom, #eeeeee 0px, #ffffff 4px); + background-image: linear-gradient(to top, #eeeeee 0px, #ffffff 4px); + border-bottom: 1px solid #ddd; + z-index: 1; +} + +.integration_logo { + float: left; + margin: 0 16px 16px 0; + width: 200px; + height: 128px; + border: 1px solid #ddd; + outline: 9px solid #fff; + outline-offset: -10px; +} + +.integration_content h1 { + margin-bottom: 4px; +} + + + +h1, h2, h3 { + font-family: 'OpenSans','Lucida Grande','Lucida Sans Unicode',sans-serif; + font-weight: bold; + color: #774aa4; + +} +h1 { + color: #51326f; + font-size: 23px; +} + +p, h1 { + margin: 0 0 16px; +} + +.ui-helper-clearfix:after { + content: "."; + display: block; + height: 0; + clear: both; + visibility: hidden; +} + +.ui-tabs { + background: #FFFFFF; + position: relative; + padding: .2em; + zoom: 1; + border-radius: 0px; + border: 0px none; +} + +.ui-state-default, .ui-widget-content .ui-state-default, .ui-widget-header .ui-state-default { + border: 1px solid #a8a8a8; + background: #f6f6f6; + font-weight: bold; + color: #5F83B9; +} +.ui-tabs .ui-tabs-nav { + border-color: #a8a8a8; + border-width: 0px 0px 1px 0px; + margin: 0; + padding: 0; + background: transparent; + border-radius: 0px; +} + + +.ui-tabs .ui-tabs-nav li.ui-state-active { + background: #FFFFFF; +} + +tabs-nav li.ui-state-default { + border-color: #a8a8a8; +} + + + +.ui-tabs .ui-tabs-panel { + display: block; + border: 0; + padding: 1em 1.4em; + background: none; + font-size: 12px; + border-color: #a8a8a8; + border-width: 0px 1px 1px 1px; + border-style: solid; + border-radius: 0px; +} + +.ui-tabs-hide { + display: none !important; +} + +.ui-tabs .ui-tabs-nav li { + list-style: none; + float: left; + position: relative; + top: 1px; + margin: 0 .2em 1px 0; + border-bottom: 0 !important; + padding: 0; + white-space: nowrap; + border-top-left-radius: 3px; + border-top-right-radius: 3px; +} + +.ui-tabs .ui-tabs-nav li a { + float: left; + padding: .5em 1em; + text-decoration: none; + font-size: 12px; +} + +.ui-tabs .ui-tabs-nav li.ui-state-default a { + color: #4f4f4f !important; + text-shadow: 0px 1px 0px rgba(255, 255, 255, 0.8); +} + + +pre.textfile { + position: relative; + margin: .5em 0 1em; + padding: 0 0 0 26px; + background-color: transparent; +} + +pre code { + display: block; + padding: 0.5em; + color: #000; + background: #f8f8ff; +} + +pre.textfile code { + background: #f9f9f9; + color: #222; + border: 2px solid #f0f0f0; +} + +.integration_content .desc #int-configuration ol li { + margin: 0 0 16px; +} + +button.primary { + color: #fff; + background: #3399cc; + border-color: #3399cc; + border-bottom-color: #297aa3; +} + +.code_icon { + position: absolute; + top: 0; + left: 0px; + height: 34px; + width: 26px; + background: #EEE; + +} + +ul, ol { + padding: 0 0 0 2em; +} + +.screenshot { + padding: 5px; + box-shadow: 0 0 10px #999; +} \ No newline at end of file diff --git a/Druid/screenboard.json b/Druid/screenboard.json new file mode 100644 index 0000000..0967ef4 --- /dev/null +++ b/Druid/screenboard.json @@ -0,0 +1 @@ +{}