https://github.com/Netflix/atlas

sort by:
Revision Author Date Message Commit Date
2887b4b reduce allocations for asJavaMap.entrySet (#1197) Updates the `SmallHashMap.asJavaMap` implementation to override `entrySet()`. The new implementation avoids allocations for each item in the map. **Throughput** | Benchmark | Before | After | % Delta | |----------------------|---------------|---------------|---------| | customEntrySet | 8,400,934.3 | 13,480,190.3 | 60.5 | **Allocations** | Benchmark | Before | After | % Delta | |----------------------|---------------|---------------|---------| | customEntrySet | 296.0 | 24.0 | -91.9 | 07 August 2020, 23:52:44 UTC
e5482ab freeze should reset to initial variables (#1196) The freeze operation is meant to reset the state of the interpreter to isolate expressions. Before it was clearing the variables meaning that after a freeze operation any variables passed in at the start of the execution would not be available. This change fixes it to reset to the initial set of variables used when starting the execution. 07 August 2020, 23:14:39 UTC
32337f4 add support for rewrite based on host name (#1195) In some cases we have multiple DNS names for the same backend, but the behavior varies a bit depending on the host name. Internally this has been done for quite a while on the main backends, but was not done for the streaming execution. This change adds support for host based rewrite that will be consistent between streaming and the main backends. 06 August 2020, 18:56:31 UTC
1c875e0 remove unused SubscriptionManager (#1194) Changes in #1123 made this class unnecessary and removed most of the usage. 06 August 2020, 16:29:19 UTC
324434a eval: expose data rate per datasource (#1192) Adds diagnostic messages that can be used to determine which expressions are the most expensive in terms of data volume. This can be useful for balancing load and later will be used to help inform limits that can be enforced for the expressions. Co-authored-by: Brian Harrington <brharrington@gmail.com> 05 August 2020, 14:49:32 UTC
133bb59 fix deprecation warnings for 2.13.3 (#1193) Updates the travis build to use 2.13.3 and fixes the new deprecation warnings that were introduced. 31 July 2020, 02:00:15 UTC
7b7e7ab update dependencies (#1191) 30 July 2020, 18:47:17 UTC
c29b07c sbt 1.3.13 30 July 2020, 18:31:13 UTC
0afeaf4 aws-java-sdk 1.11.820 30 July 2020, 18:29:48 UTC
dc6c359 jackson 2.11.1 30 July 2020, 18:17:13 UTC
d77b163 roaringbitmap 0.9.1 30 July 2020, 18:12:21 UTC
19a4630 jol-core 0.11 30 July 2020, 18:11:52 UTC
553ef40 equalsverifier 3.4.1 30 July 2020, 17:55:46 UTC
dac2560 caffeine 2.8.5 30 July 2020, 17:52:20 UTC
be26197 scala 2.13.3 30 July 2020, 17:50:34 UTC
78064d9 iep 2.5.5 30 July 2020, 17:46:49 UTC
05ec5e6 spectator 0.111.0 30 July 2020, 17:44:27 UTC
498a204 scalatest 3.2.0 30 July 2020, 17:37:48 UTC
1a95b60 make datetime zone parsing more lenient (#1190) In particular, it will now support zone offsets that do not have the colons to make integration easier for some JS use case. 29 July 2020, 16:35:18 UTC
94edf54 rename root project to atlas to be more IDE friendly (#1189) Makes it easier to spot in the recently used menu. 16 July 2020, 23:36:07 UTC
b9d1044 remove duplicate mapping for GetRecords.Bytes (#1188) This causes it to get double published which can cause minor differences depending on the order when the values are normalized. 29 June 2020, 17:25:15 UTC
659e4ac allow arbitrary number of days for larger step (#1185) It doesn't matter as much for these larger ranges and this can sometimes be useful for longer term graphs. Before it would only allow 1d and 7d. Removes the validation since it is no longer a fixed set. 25 June 2020, 16:38:25 UTC
8b2931c add support for dstype of sum (#1181) This should be used carefully as it could cause overcounting. The primary use-case is for inline aggregation of values that are already normalized to the step size. For example, the aggregator cluster could use this to avoid a multiple on counters that are flowing through. 16 June 2020, 19:24:39 UTC
b8154a4 add mapping for CloudWatch IoT metrics (#1180) Adds initial mapping. Omits a few of the metrics where we do not have any samples to test with current usage. 15 June 2020, 22:08:39 UTC
80d40d1 SmallHashMap: avoid BoxesRunTime.equals (#1179) It can be quite a bit slower if not inlined. 05 June 2020, 18:28:34 UTC
ffd7f74 update dependencies (#1178) 02 June 2020, 17:36:05 UTC
dc31c99 sbt 1.3.12 02 June 2020, 17:27:19 UTC
09afda1 roaringbitmap 0.8.19 02 June 2020, 17:09:50 UTC
8920d40 caffeine 2.8.4 02 June 2020, 17:08:53 UTC
391d03b equalsverifier 3.3 02 June 2020, 17:00:42 UTC
a850fe4 akka-http 10.1.12 02 June 2020, 16:59:56 UTC
01f8f13 log4j 2.13.3 02 June 2020, 16:49:55 UTC
eff49b8 iep 2.5.3 02 June 2020, 16:43:28 UTC
b10f2ca aws-java-sdk 1.11.790 02 June 2020, 16:29:07 UTC
300f38e scalatest 3.1.2 02 June 2020, 16:19:10 UTC
6393a78 spectator 0.108.0 02 June 2020, 16:17:52 UTC
db11f21 switch to scala.util.Using (#1177) Now that we are fully on scala 2.13, deprecate the `Streams.scope` utility function in favor of the `Using` helper in the stdlib. All uses in this code base have been migrated. 30 May 2020, 01:54:18 UTC
4d251e8 update Streams.scope to work with AutoCloseable (#1176) This is the base interface for Closeable so it is more generic than it was before. Allows this helper to be used with Stream's that need to be closed such as those returned by `Files.list`. 29 May 2020, 23:02:03 UTC
c4eeb2a tune ByteStringInputStream for composites (#1175) Adjusts the ByteStringInputStream to work better for composite ByteString objects. Before it was using `asByteBuffer` which forces a compaction on composite types. Now it uses the `asByteBuffers` method. This results in a large reduction in allocations and increase in throughput. **Throughput** | Benchmark | Before | After | % Delta | |----------------------|---------------|---------------|---------| | compositeInputStream | 31.8 | 137.6 | 332.9 | | compositeToArray | 44.6 | 46.2 | 3.5 | | inputStream | 115.1 | 126.5 | 9.9 | | toArray | 42.8 | 45.0 | 5.2 | **Allocations** | Benchmark | Before | After | % Delta | |----------------------|---------------|---------------|---------| | compositeInputStream | 104,887,113.5 | 69,769.8 | -99.9 | | compositeToArray | 104,875,451.8 | 104,875,038.6 | -0.0 | | inputStream | 8,418.3 | 7,987.6 | -5.1 | | toArray | 104,874,398.1 | 104,874,682.8 | 0.0 | 21 May 2020, 01:31:03 UTC
f096a18 use jdk14 for travis build (#1174) OpenJDK14 has changes to font rendering that make it compatible with the lastest Zulu JDK11 we use internally. 05 May 2020, 16:15:14 UTC
6b426a2 update version in wiki to 1.6.5 (#1173) Bump the version in the wiki to the latest. 04 May 2020, 15:39:02 UTC
6316c0c fix compiler warnings for 2.13.2 (#1170) Most of the new warnings were for widening conversions from long to double. Since cross-building has been disabled, all warnings have been cleared up with no issues. Enabled fatal warnings to help keep the build clean. 04 May 2020, 14:33:16 UTC
7f10ff2 enable WRITE_NAN_AS_STRINGS by default (#1169) Historically some endpoints wrote the special double values without quotes to make it clear they were numeric. However, that creates problems with tools using standard JSON parsing libraries. New uses should always emit standard JSON so this change updates the default so these values are quoted. The encoding for the legacy `json` format on the graph API still emits data without the quotes for backwards compatibility. 01 May 2020, 22:48:06 UTC
404168d remove atlas-config sub project (#1168) Switch the code to consistently use the IEP library that is used for other projects as well. Helps to simplify the overall config story. 01 May 2020, 22:44:15 UTC
d831f19 fix memory.conf to include from classpath (#1167) Before depending on how the path for the `memory.conf` file was specified, it would try to load from the file system instead of the classpath and the base config would be missing. Now it is explicit about including from the classpath. Fixes #1146. 01 May 2020, 22:34:54 UTC
ab10e03 update dependencies (#1166) 01 May 2020, 16:42:36 UTC
e5c2bcc sbt 1.3.10 01 May 2020, 16:23:29 UTC
15d73d3 roaringbitmap 0.8.18 01 May 2020, 16:15:31 UTC
57b65a0 caffeine 2.8.2 01 May 2020, 16:13:54 UTC
15e4119 spectator 0.107.0 01 May 2020, 16:12:34 UTC
38baf3d scala-collection-compat 2.1.6 01 May 2020, 16:11:22 UTC
7a4acd8 scala 2.13.2 01 May 2020, 16:10:37 UTC
cff9822 jackson 2.11.0 01 May 2020, 15:56:23 UTC
7956d22 iep 2.5.0 01 May 2020, 15:54:55 UTC
4805064 aws-java-sdk 1.11.764 01 May 2020, 15:54:06 UTC
8a41771 atlas-eval: fix eval flow failure on lwc instance removal (#1165) Currently the whole eval flow may fail when a lwc instance is removed. There's a subflow for lwc api call of each lwc instance, and that subflow is wrapped around by "RestartFlow" to enable auto-retry. The subflow is finished from upstream when a lwc instance is removed, and upstream of RestartFlow is finished, RestartFlow finishes and propagate the failure from the current ongoing attempt if any, to downstream, and eventually propagate to main flow. The fix is to have downstream of RestartFlow suppress the failure, since the failure is expected and can be ignored on lwc instance removal. 02 April 2020, 22:14:21 UTC
e4f30ec update dependencies (#1164) 02 April 2020, 21:31:07 UTC
58c34b4 sbt 1.3.9 02 April 2020, 20:04:05 UTC
9ca8d51 log4j 2.13.1 02 April 2020, 19:55:43 UTC
7bf1b92 frigga 0.24.0 02 April 2020, 19:55:09 UTC
99cfe84 jackson 2.10.3 02 April 2020, 19:54:19 UTC
695f6f2 roaringbitmap 0.8.13 02 April 2020, 19:47:55 UTC
8cd9a02 equalsverifier 3.1.13 02 April 2020, 19:47:16 UTC
3b56517 scalatest 3.1.1 02 April 2020, 19:39:37 UTC
17e2fcd spectator 0.104.0 02 April 2020, 19:31:41 UTC
4befafc iep 2.2.2 02 April 2020, 19:30:14 UTC
2ee71a5 aws-java-sdk 1.11.752 02 April 2020, 19:29:35 UTC
b22cade akka 2.5.31 02 April 2020, 19:27:18 UTC
70a2ad5 remove -Xexperimental flag (#1163) Not needed now that we are on 2.13 only. Clears up warnings during the build. 02 April 2020, 18:17:55 UTC
3e1aa52 fix logic for skipNext (#1162) The `skipNext` helper did not work correctly in the case of some complex objects with nested arrays. This change fixes the logic and adds more extensive testing with randomly generated JSON objects. 27 March 2020, 22:51:53 UTC
047ff39 add helper for getting intValue from ItemId (#1161) This method is compatible with what you would get by calling `toBigInteger.intValue` but avoids the overhead of creating an intermediate BigInteger object if that is the only use. 27 March 2020, 01:02:25 UTC
1fd9473 cache hash code for Query (#1160) This get computed a lot when leveraging a query index. In some cases it is over 5% of the time. Current JMH benchmark shows a similar improvement after caching. | Benchmark | Before | After | % Delta | |----------------------|---------------|---------------|---------| | index_100 | 2,950,658.3 | 3,032,810.1 | 2.8 | | index_1000 | 2,072,328.3 | 2,122,367.3 | 2.4 | | index_10000 | 2,527,147.8 | 2,714,280.1 | 7.4 | | index_100000 | 2,028,644.4 | 2,152,331.2 | 6.1 | 22 March 2020, 14:55:30 UTC
264dbb1 switch to foreachEntry iterating maps (#1159) This method is more efficient in many cases and avoids temporary tuple objects. Now that we do not need to worry about 2.12 compatibility, switch to using it where possible. 22 March 2020, 13:29:54 UTC
cff5442 avoid intermediate tuple allocations (#1156) Update QueryIndex matching methods to use foreachEntry to avoid temporary tuples. 21 March 2020, 22:51:08 UTC
91712c0 stop cross building for scala 2.12 (#1158) Internally all uses of these have moved to scala 2.13. To reduce maintenance effort, drop 2.12 builds. 21 March 2020, 21:28:34 UTC
2167785 switch to foreachEntry for SmallHashMap (#1157) This method is available for maps in scala 2.13.0. This makes the custom SmallHashMap more inline with the scala maps. 20 March 2020, 23:01:37 UTC
9731b72 SmallHashMap: avoid lambda overhead for add/remove (#1155) Loop over the array directly to avoid the lambda overhead for adding or removing an item. This can be a hot path for some use-cases. 19 March 2020, 21:56:04 UTC
832e827 atlas-eval: expose flow api to maximize throughput (#1154) Converting to Processor disables operator fusion at the boundary, and reduces overall throughput. This change exposes the Flow directly and enables operator fusion optimization, and downstream delay of the boundary reduced from hundreds of microseconds to tens of microseconds. 18 March 2020, 12:12:09 UTC
3aa9acc atlas-eval: lower eval input queue-size (#1153) It is for the incoming set of data sources which should not change at a high rate. The most recent can be used. 12 March 2020, 15:06:02 UTC
be8c60d disable trusted advisor collection by default (#1152) The trusted advisor data in cloudwatch is only updated when something refreshes the checks. Unless something is doing that, there isn't much point in collecting the cloudwatch data. 11 March 2020, 17:00:35 UTC
2bc772b atlas-eval: avoid back pressure of datasources (#1151) Currently in eval stream, "Datasources broadcast" is getting back-pressured by FinalExprEval under heavy load and new DataSources can not flow to LWC API calls and causes out of date subscriptions. This change avoids back pressure at sub streams of Datasources broadcast, so that they will not block each other. Only keeping the latest DataSources is fine for both sub streams. 11 March 2020, 12:32:08 UTC
1421394 atlas-eval: make queue size configurable for lwc call (#1150) Allows the queue size for members of the cluster to be configured. 09 March 2020, 12:31:33 UTC
2ce55f0 cache the hash code for DataExprs (#1149) For streaming evaluation the DataExpr is the key in the time grouping stage. The largest expense in the time grouping stage was computing the hash code of the DataExpr to aggregate the datapoints as they were flowing through. 04 March 2020, 23:10:12 UTC
55cc0c1 avoid unnecessary string conversion (#1148) When parsing the LWC messages converting to a string first is unnecessary. Avoiding this results in about 30% improvement in the throughput. 04 March 2020, 21:11:31 UTC
2fd4343 optimize parsing of LWC messages (#1147) For some recent tests around 9% of the CPU time was spent parsing these messages when under heavy load. Using the JMH benchmark this provides a little over 2x faster parsing and similar reduction in allocations. 03 March 2020, 22:01:33 UTC
22292db update dependencies (#1145) 19 February 2020, 13:15:58 UTC
7516ea6 sbt-scalafmt 2.3.1 19 February 2020, 13:05:15 UTC
d87f77a sbt-release 1.0.13 19 February 2020, 13:04:31 UTC
250ed36 sbt 1.3.8 19 February 2020, 12:56:53 UTC
e4d1a51 jol-core 0.10 19 February 2020, 12:53:34 UTC
7d1cc3d equalsverifier 3.1.12 19 February 2020, 12:45:22 UTC
b2088f0 aws-java-sdk 1.11.723 19 February 2020, 12:43:48 UTC
2660ab2 iep 2.2.1 19 February 2020, 12:43:19 UTC
e28ef69 akka 2.5.29 19 February 2020, 12:32:40 UTC
3175e29 scala-collection-compat 2.1.4 19 February 2020, 12:31:44 UTC
e096652 spectator 0.103.0 19 February 2020, 12:29:28 UTC
1ee176f adjust default serialization for java.time (#1144) Set the default serialization to use millisecond timestamps. This keeps it more consistent with other usage in Atlas. 11 February 2020, 17:22:15 UTC
0d5876d update launcher url to use HTTPS (#1141) Bintray now requires HTTPS for downloading the artifacts. Also bump to the latest version. 06 February 2020, 13:41:36 UTC
45ffa4b update settings in memory.conf (#1139) Update the memory.conf example to reflect move of graphing logic to eval library. Fixes #1135 06 February 2020, 12:58:12 UTC
0df4e41 emit empty DataSources for a host if no more DataSource (#1137) Emit empty DataSources for a host if no more DataSource so that downstream can stop stream from LWC quickly for this host. This is in preparation for a single evaluator instance on the atlas-stream service that is part of iep-apps. 03 February 2020, 20:21:19 UTC
back to top