com.netflix.atlas.core.index

Members list

Type members

Classlikes

class BatchRebuild

Try different ways of performing batch update of index items.

Try different ways of performing batch update of index items.

> jmh:run -wi 10 -i 10 -f1 -t1 .*BatchRebuild.*

Results:

Benchmark                 Mode  Cnt          Score           Error   Units
hashMap                  thrpt    5          0.476 ±         0.063   ops/s
hashMapMerge             thrpt    5          3.544 ±         0.111   ops/s
treeMap                  thrpt    5          1.358 ±         0.013   ops/s
treeMapMerge             thrpt    5          2.000 ±         0.407   ops/s

Benchmark                 Mode  Cnt          Score           Error   Units
hashMap                  alloc    5  114854340.107 ±    112705.849    B/op
hashMapMerge             alloc    5   33407504.311 ±      5704.459    B/op
treeMap                  alloc    5   88702403.314 ±     12202.989    B/op
treeMapMerge             alloc    5   33457019.848 ±     39144.317    B/op

Attributes

Supertypes
class Object
trait Matchable
class Any

Check to see how query index performs with simple queries based on index size. With similar test with real data using 17k alert expressions that decomposed into over 33k query expressions, the index was around 1000x faster for processing a metrics payload of 5000 datapoints. The loop took around 6 seconds and the index took around 6ms. The real dataset is slower mostly due to more regex being used in real queries and not being used in this synthetic data.

Check to see how query index performs with simple queries based on index size. With similar test with real data using 17k alert expressions that decomposed into over 33k query expressions, the index was around 1000x faster for processing a metrics payload of 5000 datapoints. The loop took around 6 seconds and the index took around 6ms. The real dataset is slower mostly due to more regex being used in real queries and not being used in this synthetic data.

> jmh:run -prof stack -prof gc -wi 10 -i 10 -f1 -t1 .*QueryIndexMatching.*

Initial results:

Benchmark                         Mode  Cnt        Score        Error  Units
QueryIndexMatching.index_100     thrpt   10  1427970.545 ±  42632.895  ops/s
QueryIndexMatching.index_1000    thrpt   10  1337580.661 ± 113418.137  ops/s
QueryIndexMatching.index_10000   thrpt   10  1341069.994 ± 104992.441  ops/s
QueryIndexMatching.index_100000  thrpt   10  1290159.738 ±  76488.013  ops/s
QueryIndexMatching.loop_100      thrpt   10   714393.977 ±  26067.308  ops/s
QueryIndexMatching.loop_1000     thrpt   10    68317.877 ±   6006.013  ops/s
QueryIndexMatching.loop_10000    thrpt   10     3831.356 ±    454.029  ops/s
QueryIndexMatching.loop_100000   thrpt   10      375.074 ±     30.352  ops/s

Attributes

Supertypes
class Object
trait Matchable
class Any

Check to see how query index performs with simple queries based on index size. With similar test with real data using 17k alert expressions that decomposed into over 33k query expressions, the index was around 1000x faster for processing a metrics payload of 5000 datapoints. The loop took around 6 seconds and the index took around 6ms. The real dataset is slower mostly due to more regex being used in real queries and not being used in this synthetic data.

Check to see how query index performs with simple queries based on index size. With similar test with real data using 17k alert expressions that decomposed into over 33k query expressions, the index was around 1000x faster for processing a metrics payload of 5000 datapoints. The loop took around 6 seconds and the index took around 6ms. The real dataset is slower mostly due to more regex being used in real queries and not being used in this synthetic data.

> jmh:run -wi 10 -i 10 -f1 -t1 .*RoaringTagIndexBench.*

Results:

Benchmark                                Mode  Cnt         Score        Error  Units
RoaringTagIndexBench.create             thrpt   10        22.204 ±      0.907  ops/s
RoaringTagIndexBench.findKeysAll        thrpt   10  14053463.630 ± 656709.056  ops/s
RoaringTagIndexBench.findKeysQuery      thrpt   10      1323.195 ±     81.122  ops/s
RoaringTagIndexBench.findValuesAllMany  thrpt   10      4172.656 ±    305.764  ops/s
RoaringTagIndexBench.findValuesAllOne   thrpt   10    357671.851 ±  17709.502  ops/s

Attributes

Supertypes
class Object
trait Matchable
class Any