Where communities thrive


  • Join over 1.5M+ people
  • Join over 100K+ communities
  • Free without limits
  • Create your own community
People
Repo info
Activity
  • Jan 31 2019 07:19
    paascloud starred kamon-io/Kamon
  • Jan 30 2019 20:59
    eugenemiretsky opened #568
  • Jan 30 2019 17:59
    eabizeid starred kamon-io/Kamon
  • Jan 30 2019 06:39
    PDimitryuk starred kamon-io/Kamon
  • Jan 25 2019 15:52
    sjoerdmulder opened #567
  • Jan 23 2019 20:05

    dpsoft on 1.1.5

    (compare)

  • Jan 23 2019 19:56

    dpsoft on v1.1.5

    (compare)

  • Jan 23 2019 19:48

    dpsoft on 1.1.5

    * Update Hdr * lazy vals in Kam… (compare)

  • Jan 22 2019 12:17
    andreas-schroeder opened #566
  • Jan 16 2019 18:34
    nodox starred kamon-io/Kamon
  • Jan 06 2019 14:21
    kencyke starred kamon-io/Kamon
  • Jan 06 2019 12:47
    ivantopo edited #565
  • Jan 06 2019 12:46
    ivantopo synchronize #565
  • Jan 06 2019 12:45
    ivantopo review_requested #565
  • Jan 06 2019 12:45
    ivantopo opened #565
  • Jan 06 2019 11:38

    ivantopo on master

    clean references to scheduled r… (compare)

  • Jan 05 2019 15:20
  • Jan 02 2019 17:02
    l15k4 starred kamon-io/Kamon
  • Dec 29 2018 08:03
    zbd0518 starred kamon-io/Kamon
  • Dec 27 2018 09:17
    ivantopo commented #563
Ivan Topolnjak
@ivantopo
hey @schrepfler, there was no need to upgrade the module, it will work just fine!
we are only alining around the major version number
Diego Parra
@dpsoft
Hi everyone, we just published a new version of kamon-http4s equipped with kamon 2.0 https://bintray.com/kamon-io/releases/kamon-http4s
Dinesh Narayanan
@ndchandar
Thank you @ivantopo
Vasily Kirichenko
@vasily-kirichenko
hey guys. Is it possible to tell kamon to send data more often than 1 / minute?
Ivan Topolnjak
@ivantopo
hey there
yeap, look at the kamon.metric.tick-interval setting
Vasily Kirichenko
@vasily-kirichenko
@ivantopo it works! :) thank you.
Ivan Topolnjak
@ivantopo
:+1:
Sebastien Vermeille
@sebastienvermeille
Hi guys, I migrated to kamon 2.13 (java 13) and now it looks like gauge.set(value) no longer exists ? how should I migrate this please ?
Ivan Topolnjak
@ivantopo
hey @sebastienvermeille, that method is now called "update"
Sebastien Vermeille
@sebastienvermeille
@ivantopo thank you for your response but It looks like it do not exists
give me a few sec to check again
Ivan Topolnjak
@ivantopo
maybe you were using a Gauge without any tags
Sebastien Vermeille
@sebastienvermeille
GaugeMetric
Ivan Topolnjak
@ivantopo
in 1.x you could just do that, but from 2.x you need to call .withoutTags
so that you go from the GaugeMetric to an actual Gauge instrument
Sebastien Vermeille
@sebastienvermeille
I yes I did this:
Kamon.gauge("myname")
probably outdated way of doing
Ivan Topolnjak
@ivantopo
yeap
the equivalent of that is Kamon.gauge("myname").withoutTags()
there was an "implicit" withoutTags on the gauge metrics
Sebastien Vermeille
@sebastienvermeille
ah okay and then I return a Gauge directly?
Ivan Topolnjak
@ivantopo
I think so! the type returned from withoutTags is a Gauge
Sebastien Vermeille
@sebastienvermeille
final Inst item = Kamon.gauge(name).withoutTags();
I should work on the Inst object or on the gauge to update the value ? (sorry I am completely lost :/ )
because Metric.Gauge object .withoutTags().update(value) do not exists
  void setSystemCpuCoresAmount(final int amountOfLogicalCore) {
    getKamonGauge(SYSTEM_CPU_CORE_AMOUNTS_GAUGE).update(amountOfLogicalCore);
  }

  Gauge getKamonGauge(final String gaugeName) {
    return (Gauge) Kamon.gauge(gaugeName);
  }
ok solved it that way
Sebastien Vermeille
@sebastienvermeille
thank you very much @ivantopo
Sebastien Vermeille
@sebastienvermeille
erf ok wrong, this worked because of kamon system metrics was still in 2.12 :D
solved anyway :) now its a matter of using kamon-system-metrics 2.12 with kamon 2.13 :/
Ivan Topolnjak
@ivantopo
actually, we did publish the system metrics module for Scala 2.13
Sebastien Vermeille
@sebastienvermeille
@ivantopo yes its available but I was not sure as the readme looks not really saying it and SystemMetrics is not found
maybe its a good time for me to write a few mini PR for the doc :)
Ivan Topolnjak
@ivantopo
that would be awesome!
also
there is no need anymore for calling "SystemMetrics.startCollecting()"
Sebastien Vermeille
@sebastienvermeille
mmm okay
Ivan Topolnjak
@ivantopo
when you call Kamon.init() it will scan the classpath and start all modules
Sebastien Vermeille
@sebastienvermeille
but I think something has been dropped..
Kamon.addReporter(reporter);
Ivan Topolnjak
@ivantopo
Kamon.registerModule(...)
reporters are just a specialized type of module
Sebastien Vermeille
@sebastienvermeille
great :)
Sebastien Vermeille
@sebastienvermeille
and I guess stopCollecting() equivalent is stopModules() ? :)
Ivan Topolnjak
@ivantopo
yes, although before stopCollecting was specific to the system metrics module, Kamon.stopModules() stops all modules
Cheng Wei
@weicheng113

@ivantopo I have a simple experimenting custom reporter and with the following configuration.

    actors.track  {
      includes = ["*/user/myActor1"]
      excludes = ["*/system/**", "*/user/IO-**", "*kamon*"]
}

With the above configuration, I expected to receive the metrics for myActor1 only, but I received metrics for myActor2, myActor3 also, as you could see the attached sample metric message at the bottom. I then tried another configuration.

    actors.track  {
      includes = ["*/user/myActor1"]
      excludes = ["**"]
}

With the above configuration, I received no metrics for all actors, including myActor1. So I don't know what the rule of includes and excludes is.

Sample metric message for the first configuration.

{
  "startTime": "2019-09-12T05:53:58.004049901Z",
  "endTime": "2019-09-12T05:54:00.003782976Z",
  "agent": "kamon-2.x",
  "node": {
    "service": "cluster1",
    "instance": "cluster1@myMachine",
    "host": "myMachine"
  },
  "metrics": [
    {
      "name": "akka.actor.time-in-mailbox",
      "tags": {
        "system": "cluster1",
        "path": "cluster1/user/myActor1",
        "class": "package_name1.application.MyActor1",
        "dispatcher": "akka.actor.default-dispatcher"
      },
      "metricType": {
        "_class": "Histogram"
      },
      "value": {
        "min": 0,
        "max": 0,
        "count": 0,
        "unit": {
          "dimension": {
            "name": "time"
          },
          "magnitude": {
            "name": "nanoseconds",
            "scaleFactor": 1e-9
          }
        },
        "_class": "Distribution"
      }
    },
    {
      "name": "akka.actor.time-in-mailbox",
      "tags": {
        "system": "cluster1",
        "path": "cluster1/user/myActor2",
        "class": "package_name1.application.myActor2",
        "dispatcher": "akka.actor.default-dispatcher"
      },
      "metricType": {
        "_class": "Histogram"
      },
      "value": {
        "min": 0,
        "max": 0,
        "count": 0,
        "unit": {
          "dimension": {
            "name": "time"
          },
          "magnitude": {
            "name": "nanoseconds",
            "scaleFactor": 1e-9
          }
        },
        "_class": "Distribution"
      }
    },
    {
      "name": "akka.actor.time-in-mailbox",
      "tags": {
        "system": "cluster1",
        "path": "cluster1/user/myActor3",
        "class": "package_name1.application.myActor3",
        "dispatcher": "akka.actor.default-dispatcher"
      },
      "metricType": {
        "_class": "Histogram"
      },
      "value": {
        "min": 11072,
        "max": 11072,
        "count": 1,
        "unit": {
          "dimension": {
            "name": "time"
          },
          "magnitude": {
            "name": "nanoseconds",
            "scaleFactor": 1e-9
          }
        },
        "_class": "Distribution"
      }
    },
    {
      "name": "akka.group.processing-time",
      "tags": {
        "system": "cluster1",
        "group": "cluster1/user/ClusterSingletonManager/ClusterSingletonManager$Internal$OldestChangedBuffer"
      },
      "metricType": {
        "_class": "Histogram"
      },
      "value": {
        "min": 11136,
        "max": 111616,
        "count": 3,
        "unit": {
          "dimension": {
            "name": "time"
          },
          "magnitude": {
            "name": "nanoseconds",
            "scaleFactor": 1e-9
          }
        },
        "_class": "Distribution"
      }
    },
    {
      "name": "akka.group.processing-time",
      "tags": {
        "system": "cluster1",
        "group": "cluster1/user/ClusterSingletonManager"
      },
      "metricType": {
        "_class": "Histogram"
      },
      "value": {
        "min": 888832,
        "max": 974848,
        "count": 2,
        "unit": {
          "dimension": {
            "name": "time"
          },
          "magnitude": {
            "name": "nanoseconds",
            "scaleFactor": 1e-9
          }
        },
        "_class": "Distribution"
      }
    }
Dinesh Narayanan
@ndchandar

Hello,
I see this WARN in our logs (zipkin integration)

timestamp=15:29:17.842, level=WARN , logger=kamon.metric.Timer,  message=Failed to record value 
[1735721419412792] on [span.wait-time,{operation=my-processor,error=false}] because the value is 
outside of the configured range. The recorded value was adjusted to the highest trackable value 
[3600000000000]. You might need to change your dynamic range configuration for this metric,

What do you think i need to tune ? I am currently testing my kamon setup with sampler as always. This seems to happen i trace a future call