Commit graph

10 commits

Author SHA1 Message Date
Philippus Baalman
6c7085252a extended copyright into 2017 2017-01-04 17:37:15 +01:00
Konrad Malawski
f9cbc36b03 -doc,str,tes remove statsd and graphite reporting code, its not used (#20383) 2016-04-27 09:45:58 +02:00
Johan Andrén
62e30b3c08 Update copyrights and links to the new company name #19851 2016-02-23 12:58:39 +01:00
Konrad Malawski
0763a150e2 -pro remove unused build stats tooling 2016-01-12 10:26:36 +01:00
Martynas Mickevicius
07ca8d5a8d =pro #15166 do not redefine executeTests 2014-05-12 15:36:49 +02:00
Konrad 'ktoso' Malawski
684c0279ec =act,tes Initial draft of internal MetricsKit
Note: This is NOT aimed to provide an micro-benchmarking solution.
The goal is to provide data for broad trend analysis. For techniques
that fight the inliner and other specialised techniques, refer to JMH.

+ custom console and graphite reporters
  - had to be custom because it's not possible to add custom metric
    types to the existing reporters
+ initial hdr.Histogram histogram() provider, see
  http://latencyutils.github.io/LatencyUtils/
+ Not using timers provided by Metrics, instead use the above histogram
+ Added average Actor size measurement
+ Measuring the "blocking time" when an actor is created, before we fire
  of the async part of this process; Measures in loop and will fluctuate
  a lot. Times are in `us` -- System.nanoTime should provide good enough
  resolution.
+ Measuring total actor creation time by using
  `KnownOpsInTimespanTimer`, which given a known number of ops, in a
  large amount of time, roughtly estimates time per one operation.
  // Yes, we are aware of the possibility of GC pauses and other horrors
+ All classes are `private[akka]`, we should not encourage people to use
  this yet
+ Counters use Java 8's `LongAdder`, which is metric's private;
  The new trend in Java land will be copy paste-ing this class ;)
+ Metrics are logged to Graphite, so we can long-term analyse these
+ Reporters are configurable using typesafe-config

! I'm not very happy about how I work around Metrics not being too open
  for adding additional custom metrics. Seems like a hack at places.
  I will consider removing the Metrics dependency all together.
  numbers

Example output:

```
-- KnownOpsInTimespanTimer-------------------------------------------
  actor-creation.total.creating-100000-actors.Props|new-EmptyArgsActor|…||-same
               ops = 100000
              time = 1.969 s
             ops/s = 50782.22
               avg = 19.69 μs

-- AveragingGauge---------------------------------------------------
  actor-creation.Props|new-EmptyArgsActor|…||-same.avg-mem-per-actor
                avg = 439.67
```
2014-05-08 14:52:39 +02:00
Martynas Mickevicius
ee5ea5e13f =pro #15031 move build logic into separate files 2014-05-07 15:07:05 +02:00
Konrad 'ktoso' Malawski
293ecb09f9 =build #15103 Add Build start/finish events
These are visible on the grafana dashboard,
in order to be able to see on which commit
stats have been recorded.

It's enabled via: `-Dakka.sbt.graphite=true`

Resolves #15103
2014-05-07 10:23:21 +02:00
Konrad 'ktoso' Malawski
69ffd006cf =pro all non-words must be replaced with _, for statsd keys 2014-04-29 11:00:11 +02:00
Konrad Malawski
2d56fbe91c build #15021,#13755 Emit statsd events during build 2014-04-25 17:12:59 +02:00