aboutsummaryrefslogtreecommitdiff
path: root/kamon-core/src/main
diff options
context:
space:
mode:
authorDiego <diegolparra@gmail.com>2015-02-07 14:26:26 -0300
committerDiego <diegolparra@gmail.com>2015-03-01 18:44:04 -0300
commit0ae95da1627ed159cbd4336b3f8980a6280b5163 (patch)
tree010c463e5eef8937ac9dbdc9352c3a2a81e0630e /kamon-core/src/main
parent30ec5adec206f82367020de74e79cd2aa124bf9b (diff)
downloadKamon-0ae95da1627ed159cbd4336b3f8980a6280b5163.tar.gz
Kamon-0ae95da1627ed159cbd4336b3f8980a6280b5163.tar.bz2
Kamon-0ae95da1627ed159cbd4336b3f8980a6280b5163.zip
! kamon-annotation: defined instruments @Trace @Segment @Gauge @Timed @Counted @Histogram and full implemetation
Diffstat (limited to 'kamon-core/src/main')
-rw-r--r--kamon-core/src/main/scala/kamon/metric/MetricKey.scala8
-rw-r--r--kamon-core/src/main/scala/kamon/util/Latency.scala29
2 files changed, 33 insertions, 4 deletions
diff --git a/kamon-core/src/main/scala/kamon/metric/MetricKey.scala b/kamon-core/src/main/scala/kamon/metric/MetricKey.scala
index a5d30c81..c655665b 100644
--- a/kamon-core/src/main/scala/kamon/metric/MetricKey.scala
+++ b/kamon-core/src/main/scala/kamon/metric/MetricKey.scala
@@ -47,7 +47,7 @@ object HistogramKey {
apply(name, unitOfMeasurement, Map.empty)
def apply(name: String, metadata: Map[String, String]): HistogramKey =
- apply(name, UnitOfMeasurement.Unknown, Map.empty)
+ apply(name, UnitOfMeasurement.Unknown, metadata)
/**
* Java friendly versions:
@@ -81,7 +81,7 @@ object MinMaxCounterKey {
apply(name, unitOfMeasurement, Map.empty)
def apply(name: String, metadata: Map[String, String]): MinMaxCounterKey =
- apply(name, UnitOfMeasurement.Unknown, Map.empty)
+ apply(name, UnitOfMeasurement.Unknown, metadata)
/**
* Java friendly versions:
@@ -115,7 +115,7 @@ object GaugeKey {
apply(name, unitOfMeasurement, Map.empty)
def apply(name: String, metadata: Map[String, String]): GaugeKey =
- apply(name, UnitOfMeasurement.Unknown, Map.empty)
+ apply(name, UnitOfMeasurement.Unknown, metadata)
/**
* Java friendly versions:
@@ -149,7 +149,7 @@ object CounterKey {
apply(name, unitOfMeasurement, Map.empty)
def apply(name: String, metadata: Map[String, String]): CounterKey =
- apply(name, UnitOfMeasurement.Unknown, Map.empty)
+ apply(name, UnitOfMeasurement.Unknown, metadata)
/**
* Java friendly versions:
diff --git a/kamon-core/src/main/scala/kamon/util/Latency.scala b/kamon-core/src/main/scala/kamon/util/Latency.scala
new file mode 100644
index 00000000..52e044f8
--- /dev/null
+++ b/kamon-core/src/main/scala/kamon/util/Latency.scala
@@ -0,0 +1,29 @@
+/*
+ * =========================================================================================
+ * Copyright © 2013-2015 the kamon project <http://kamon.io/>
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file
+ * except in compliance with the License. You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software distributed under the
+ * License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND,
+ * either express or implied. See the License for the specific language governing permissions
+ * and limitations under the License.
+ * =========================================================================================
+ */
+
+package kamon.util
+
+import kamon.metric.instrument.Histogram
+
+object Latency {
+ def measure[A](histogram: Histogram)(thunk: ⇒ A): A = {
+ val start = RelativeNanoTimestamp.now
+ try thunk finally {
+ val latency = NanoInterval.since(start).nanos
+ histogram.record(latency)
+ }
+ }
+}