https://github.com/Netflix/atlas

sort by:
Revision Author Date Message Commit Date
2c50898 1.6: fix shard lookup for Integer.MIN_VALUE (#1459) Back port of #1452. Before it was relying on `abs` to get a non-negative value for computing an index to the array. This breaks when the int value of the id is `Integer.MIN_VALUE`. Update it to explicitly clear the sign bit to ensure the value will always be non-negative. 01 September 2022, 11:56:16 UTC
6b4665d 1.6: re-enable doc artifacts (#1458) Back port of #1271. They were disabled due to a bug, but looks like it has been fixed. Fixed a number of scaladoc errors to get the build clean. Error from publishing attempt without docs: ``` Failed: javadoc-staging, failureMessage:Missing: no javadoc jar found in folder '/com/netflix/atlas_v1/atlas-module-lwcapi_2.13/1.7.0-rc.14' ``` 01 September 2022, 11:28:57 UTC
a777dfc 1.6: add action workflows (#1457) 01 September 2022, 00:16:08 UTC
2bd52d9 1.6.x: update build so branch can be published (#1456) - Updates to use GitHub Actions. - Fixes license headers and formatting. - Bumps versions for some critical libraries. 31 August 2022, 23:39:48 UTC
ce18de5 1.6: update dependencies (#1187) 26 June 2020, 03:21:36 UTC
8a316e6 config 1.3.4 26 June 2020, 02:50:12 UTC
edb0c5c scala 2.13.3 26 June 2020, 02:48:59 UTC
2a7871e scala 2.12.11 26 June 2020, 02:48:32 UTC
637dcbf jackson 2.10.4 26 June 2020, 02:47:34 UTC
46094ec akka 2.5.31 26 June 2020, 02:46:45 UTC
69523fb akka-http 10.1.12 26 June 2020, 02:45:11 UTC
8ee6725 allow arbitrary number of days for larger step (#1186) Backport of #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. 26 June 2020, 02:38:23 UTC
dd715da add support for dstype of sum (#1184) Backport of #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, 20:12:56 UTC
277a0de 1.6: switch from trusty to xenial (#1183) Update travis build for 2.11 to use xenial. 16 June 2020, 20:03:06 UTC
8e7f4ec switch to max normalization for gauges (#1182) Backport of #1079. For use-cases where we perform inline aggregation this gives the expected value and avoids the need for an additional disambiguation tag for the aggregator instance. This also means that if no custom rollups are done the sum of the gauge values would match expectations rather than being a multiple of the number of aggregator instances. 16 June 2020, 19:48:38 UTC
d98af21 update to latest jackson version (#1172) Update to latest jackson version to pick up security fixes. 04 May 2020, 13:58:09 UTC
81d7d27 fix memory.conf to include from classpath (#1171) Backport of #1167 to 1.6.x. 04 May 2020, 11:56:31 UTC
cbe7cf2 update launcher url to use HTTPS (#1142) Bintray now requires HTTPS for downloading the artifacts. Also bump to the latest version. 06 February 2020, 15:44:31 UTC
d347560 1.6: update dependencies (#1143) 06 February 2020, 15:15:12 UTC
fe7d921 scala 2.13.1 06 February 2020, 13:47:42 UTC
8ebc681 spectator 0.101.1 06 February 2020, 13:47:08 UTC
1c07b77 slf4j 1.7.30 06 February 2020, 13:46:29 UTC
1bf09ae scala 2.12.10 06 February 2020, 13:45:57 UTC
b29732f jackson 2.10.2 06 February 2020, 13:45:19 UTC
0e63f88 iep 2.1.9 06 February 2020, 13:44:43 UTC
759371b update settings in memory.conf (#1140) Update the memory.conf example to reflect move of graphing logic to eval library. 06 February 2020, 13:41:14 UTC
d737ee9 aws-java-sdk 1.11.702 06 February 2020, 13:16:17 UTC
46c686b akka-http 10.1.11 06 February 2020, 13:14:38 UTC
87c91ae akka 2.5.29 Improves performance of ByteString on scala 2.13. 06 February 2020, 13:12:58 UTC
450bcc1 1.6: update license headers for 2020 (#1122) 02 January 2020, 15:40:57 UTC
8d5eb41 switch to discovery.status metric for eureka-avg (#1081) Backport of #1039. This is a newer version that avoids the need for regex and follows current conventions. 27 August 2019, 21:13:44 UTC
98a6563 fix equality for custom averages (#1066) Backport #1063 to 1.6.x. Before it was creating a new instance of a function when generating the `MathExpr.NamedRewrite` object so the equality would never match. 17 June 2019, 20:22:22 UTC
30da47e try disabling gigahorse (#1065) Backport #1064 to 1.6.x. Setting in the `build.properties` file doesn't seem to work for this setting (tried in #1062). 17 June 2019, 19:50:25 UTC
2b0996e fix build settings for 2.13 to use `-release 8` (#1055) Before it was looking specifically for version 12. For now we still need to be able to run on jdk8+. The specific issue encountered was: ``` java.lang.NoSuchMethodError: java.nio.CharBuffer.clear()Ljava/nio/CharBuffer; at com.netflix.atlas.core.model.TaggedItem$.writePair(TaggedItem.scala:59) at com.netflix.atlas.core.model.TaggedItem$.computeId(TaggedItem.scala:105) at com.netflix.atlas.core.model.TimeSeries$.<clinit>(TimeSeries.scala:22) at com.netflix.atlas.core.model.EvalContext.<init>(EvalContext.scala:32) at com.netflix.atlas.druid.DruidDatabaseActorSuite.<init>(DruidDatabaseActorSuite.scala:259) at sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method) at sun.reflect.NativeConstructorAccessorImpl.newInstance(NativeConstructorAccessorImpl.java:62) at sun.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:45) at java.lang.reflect.Constructor.newInstance(Constructor.java:423) at java.lang.Class.newInstance(Class.java:442) ``` Also improves the check for recent JDKs. 13 June 2019, 17:38:02 UTC
a9b2821 1.6: update to scala 2.13.0 final (#1053) 13 June 2019, 15:44:32 UTC
562cd85 1.6: cross build for 2.13.0-RC3 (#1049) Backport #1048 to 1.6.x branch. Most changes are minor. For some of the custom collections they needed to be specific to the new version. Bump akka and jackson versions as the older versions do not have a published build for 2.13. 05 June 2019, 23:42:56 UTC
045de8c fix deprecation warnings for ActorPublisher (#1037) Changes the processing for the `/fetch` endpoint to use streams instead of the deprecated ActorPublisher. 01 May 2019, 22:28:44 UTC
c783b88 fix empty data case for math/count (#1036) It wasn't checking if the input was empty like the other aggregate functions. Now it performs the same check which avoids errors like: ``` must have 1 or more time series to perform aggregation ``` 30 April 2019, 23:41:51 UTC
049a878 fix eval state for sparse lines with group by (#1035) Before, if a line was sparse, for example an error counter that has a lot of gaps, the state would be handled incorrectly. There would be one state item per matching grouping when data was present and they would only get moved forward if there was data for that key in a given interval. For intervals with no data, a no data line would get pushed through and have its own independent state. With this change, an empty group by result will push an empty data set through eval and it will now move the state buffers to allow for expiration and correct handling of subsequent intervals with data. If there is no resulting data lines from the overall expression, then a no data line for the overall expression will be emitted to the user. 30 April 2019, 16:54:42 UTC
4550be9 detect empty state and stop tracking it (#1034) Updates the online algorithms used with stateful operators to detect if the state is effectively empty. In that case the state will be dropped from the state map maintained during evaluation. This is useful to avoid leaking memory for tracking the state during long running streaming evaluations. There are currently three exceptions that have an unbounded window and never become empty: ignore-N, sdes, and integral. Integral is generally not very useful in a streaming context so we may just prohibit that operation. For sdes (and ignore-N which is typically only used to align sdes), the current uses do not involve group by operations, so it shouldn't be an issue for now. We'll revisit in the future when there are concrete use-cases that are problematic for that operation. 29 April 2019, 21:47:02 UTC
a805a6a fix tag results on MemoryDatabase.execute (#1031) The set of tags for the aggregated lines should be limited to the set that are exact matches in the query or are a part of a group by. Otherwise the grouping can have incorrect duplicates in the result set. Fixes #629. 26 April 2019, 22:19:07 UTC
cca15bb expire interned queries after 12h (#1030) Switches from a ConcurrentHashMap to a Cache for the interned queries. This avoids a slow leak over time with churn in the set of queries. In practice, we have not seen enough churn for it to matter, but now queries that are no longer in use will expire and go away. Fixes #729. 26 April 2019, 22:09:09 UTC
bf69de1 improve error message for invalid percentile data (#1029) The spectator-js client had a bug (Netflix/spectator-js#22) leading to duplicate values for a given count. This change updates the error message so it is easier to understand what is happening. Before it would just say `assertion failed`. 26 April 2019, 21:32:05 UTC
180fbaa improve handling of empty legend string (#1028) Before it would fail with an error that is hard for a user to understand: ``` IllegalArgumentException: Can't add attribute to 0-length text ``` This error would only show up if the image legend was rendered causing further confusion because it wouldn't show up if the legend was suppressed. Now it will fallback to the default legend string if an empty string is specified. 25 April 2019, 02:26:33 UTC
b3206fa remove inline rollup hooks on the api (#1027) Partially reverts #525. This removes the plumbing for the ids and rollups via the api. The usage for the internal DB have been retained. The reason for this is it adds additional complexity and risk to the backends and for most use-cases we are moving to the simple aggregator cluster instead (see atlas-aggregator in iep-apps). As we are not planning to exercise this as scale anytime soon, it is being removed from the APIs before 1.6 release. 25 April 2019, 02:19:29 UTC
49a4717 Add rolling-sum stateful operator (#1025) Sum of the values within a specified window. The sum will only be emitted if there are at least a minimum number of actual values (not `NaN`) within the window. Otherwise `NaN` will be emitted for that time period. 17 April 2019, 02:37:05 UTC
0fb0a09 update dependencies (#1024) 15 April 2019, 21:22:15 UTC
dff6a1a equalsverifier 3.1.8 15 April 2019, 21:02:07 UTC
9bc07aa RoaringBitmap 0.8.0 15 April 2019, 20:58:26 UTC
ce57cda joda-convert 2.2.0 15 April 2019, 20:57:55 UTC
a8bed68 aws-java-sdk 1.11.534 15 April 2019, 20:56:52 UTC
26318f3 iep 2.0.1 15 April 2019, 20:56:28 UTC
e98e25c spectator 0.90.0 15 April 2019, 20:44:03 UTC
48fef1a caffeine 2.7.0 15 April 2019, 20:43:21 UTC
1e2ebb6 akka-http 10.1.8 15 April 2019, 20:13:36 UTC
493714e akka 2.5.22 15 April 2019, 20:10:16 UTC
a3d3a20 fix typo in rolling-{min,max} descriptions (#1023) `s/is can/can/` 14 April 2019, 20:59:09 UTC
3aa0bec preserve offset for named rewrites (#1022) In some cases when the rewrite was not being used like an aggregate function, the offset would get lost. Fixes #1021. 14 April 2019, 16:23:51 UTC
579211f fix unused method warnings (#1020) 12 April 2019, 02:16:39 UTC
c31db8c add test case for stateful windows with no data (#1019) Verify that rolling window for stateful operators moves for intervals that have no data for the expression. 11 April 2019, 23:28:05 UTC
294f301 support generated dataset for eval (#1018) Adds a `evaluator.createDatapointProcessor(DataSources)` method that can be used to process a generated set of datapoints rather than getting data from an LWC cluster. This can be used for tests or for using Atlas expressions over arbitrary event streams. Fixes #798. 05 April 2019, 13:47:45 UTC
179311d Switch 2.12 build back to `osx` (#1017) Experiment showed that the 2.12 build with linux/trusty _does_ result in the correct version. 29 March 2019, 23:17:52 UTC
7971b7c Explicitly fetch tags for build (#1016) Add `--tags` to the `git fetch --unshallow` command. Specifying just `--unshallow` or just `--tags` results in an artifact version of `0.1` when building on Travis with `osx`. 29 March 2019, 23:14:20 UTC
9c917f4 Switch to linux/trusty for 2.12 build (#1015) Switch to linux/trusty for 2.12 build to match the 2.11 build. This is to observe whether the issue determining the version to use for publication has an OS component. 29 March 2019, 22:42:10 UTC
0638240 Revert "Ensure git tags are available for build" (#1014) This did not have the desired affect and seems to have caused the 2.11 build to no longer work. This reverts commit 7f30c26. 29 March 2019, 22:08:01 UTC
646d366 Ensure git tags are available for build (#1012) `git fetch --unshallow` was being used to get tags to set the artifact version. This has started failing on one of the builds. This commit switches to explicitly fetching tags via `git fetch --tags`. 29 March 2019, 21:34:59 UTC
3f5c03d Fix lambda config (#1010) The code that loads `MetricCategory` instances from the config expects the `dimension` field, even if it's empty. This was causing the service to silently fail. In addition to fixing the `lambda` config, I've added tests that load the production config to improve the chances we'll catch this at build time. 29 March 2019, 17:32:41 UTC
02dc9b9 improve logging for poller actor failures (#1011) Clearly log the initialization failure as an error for the poller manager. Avoids this getting overlooked if the detailed actor logging is not enabled. 29 March 2019, 17:03:58 UTC
a1f778c Collect additional lambda metrics (#1008) Add collection of * `ConcurrentExecutions` * `UnreservedConcurrentExecutions` * `DeadLetterErrors` * `IteratorAge` Issue #1005 28 March 2019, 02:10:14 UTC
bf9a99d simplify log/power scale logic (#1009) Simplifies the logic for computing the log and power scales. Now it just applies the mapping function to the input bounds and the value prior to using a normal linear scale. 28 March 2019, 01:27:28 UTC
b5b9eae update dependencies (#1006) 20 March 2019, 03:03:18 UTC
824d9ef aws-java-sdk 1.11.521 20 March 2019, 02:52:29 UTC
d546872 equalsverifier 3.1.7 20 March 2019, 02:36:35 UTC
a0bc227 scalatest 3.0.7 20 March 2019, 02:34:44 UTC
f89c5d1 spectator 0.87.0 20 March 2019, 02:31:35 UTC
8c4d12f iep 2.0.0 20 March 2019, 02:29:02 UTC
5f95cba Collect additional aurora replica metrics (#1003) Add collection of `AuroraReplicaLag` and `AuroraReplicaLagMaximum` (fixes #1002). 07 March 2019, 20:52:38 UTC
bab1872 Improve CloudWatch metric lag handling (#1001) This is the first of potentially multiple commits to improve handling of CloudWatch metric lag. This first commit makes the time range of the query configurable and adds a metric to track the age (in CloudWatch periods) of the latest datapoint returned. This will enable assessing the distribution of ages across the namespaces and metrics collected. Those data will influence the approach for datapoints that are older than Atlas will accept. 01 March 2019, 23:09:05 UTC
ed1f1f2 update dependencies (#1000) 28 February 2019, 17:18:32 UTC
782583a log4j 2.11.2 28 February 2019, 17:01:47 UTC
77ce64f roaring bitmap 0.7.42 28 February 2019, 16:54:43 UTC
23d59a2 equalsverifier 3.1.5 28 February 2019, 16:53:49 UTC
7010f52 slf4j 1.7.26 28 February 2019, 16:48:17 UTC
ed81688 scalatest 3.0.6 28 February 2019, 16:36:21 UTC
47ea06c akka 2.5.21 28 February 2019, 16:34:16 UTC
28f7b3a spectator 0.86.0 28 February 2019, 15:10:39 UTC
29c2ad9 aws-java-sdk 1.11.501 28 February 2019, 15:08:43 UTC
6e1be7f Add NetworkELB TLS metrics (#997) See * https://aws.amazon.com/about-aws/whats-new/2019/01/network-load-balancer-now-supports-tls-termination/ * https://docs.aws.amazon.com/elasticloadbalancing/latest/network/load-balancer-cloudwatch-metrics.html 28 February 2019, 15:04:55 UTC
fd64f34 Add NATGateway Metrics (#998) See https://docs.aws.amazon.com/vpc/latest/userguide/vpc-nat-gateway-cloudwatch.html 28 February 2019, 02:15:28 UTC
9fb970d fix link on eval lib readme (#996) Reference to reactive streams publisher didn't match. 27 February 2019, 14:51:19 UTC
9ad7190 add helpers for accessing materializer for stage (#995) In some cases, such as calling `discardEntityBytes` for an HTTP response, it is useful to access the materializer for the stage so the stream blueprint can be created without needing to pass in a materializer. 22 February 2019, 06:17:23 UTC
b151b50 only use offset notation if there is duplication (#994) Adjusts the logic so that offset notation for the y-axis will only get used if there is an actual duplication for the major tick labels. See #991 for more information. 15 February 2019, 17:55:30 UTC
6c3e280 avoid BoxesRunTime.equals for SmallHashMap (#990) For the QueryIndex on the streaming clusters a hot spot is `SmallHashMap.get`. Flame graphs show a significant and unnecessary overhead being `BoxesRunTime.equals`. This change updates 7 places in the code to avoid that call: **Before** ``` $ javap -verbose ./atlas-core/target/scala-2.12/classes/com/netflix/atlas/core/util/SmallHashMap.class | grep Boxes 46: invokestatic #1101 // Method scala/runtime/BoxesRunTime.equals:(Ljava/lang/Object;Ljava/lang/Object;)Z 79: invokestatic #1101 // Method scala/runtime/BoxesRunTime.equals:(Ljava/lang/Object;Ljava/lang/Object;)Z 105: invokestatic #1101 // Method scala/runtime/BoxesRunTime.equals:(Ljava/lang/Object;Ljava/lang/Object;)Z 40: invokestatic #1155 // Method scala/runtime/BoxesRunTime.unboxToBoolean:(Ljava/lang/Object;)Z 29: invokestatic #1101 // Method scala/runtime/BoxesRunTime.equals:(Ljava/lang/Object;Ljava/lang/Object;)Z 59: invokestatic #1101 // Method scala/runtime/BoxesRunTime.equals:(Ljava/lang/Object;Ljava/lang/Object;)Z 17: invokestatic #1101 // Method scala/runtime/BoxesRunTime.equals:(Ljava/lang/Object;Ljava/lang/Object;)Z 2: invokestatic #1101 // Method scala/runtime/BoxesRunTime.equals:(Ljava/lang/Object;Ljava/lang/Object;)Z ``` **After** ``` $ javap -verbose ./atlas-core/target/scala-2.12/classes/com/netflix/atlas/core/util/SmallHashMap.class | grep Boxes 40: invokestatic #1154 // Method scala/runtime/BoxesRunTime.unboxToBoolean:(Ljava/lang/Object;)Z ``` 01 February 2019, 00:30:38 UTC
d7e92dc QueryIndex: reduce overhead for checking entries (#989) Flame graphs on the prod clusters show a bit of overhead for filter and exists calls on the list of entries. This change converts it to a simple array and avoids using the collections framework methods. For the existing JMH test this resulted in about a 12% improvement. 31 January 2019, 22:31:05 UTC
5f5166a add rolling-mean operator (#987) This is meant as an alternative to `:trend` that fixes a number of issues with that operator. Specifically: 1. The denominator for the average is the number of actual values, that is non-NaN entries, within the rolling buffer. The `:trend` operator always uses the window size which can create confusing drops because `NaN` values are effectively 0. 2. The minimum number of values permitted before emitting a mean can be specified by the user. 3. It is more consistent with other stateful operators in that it works on a window size relative to the step interval rather than a fixed time duration. 4. It is more consistent with similar operators in other tools such as the `rolling_mean` function provided by Panda. Fixes #958. 29 January 2019, 22:30:29 UTC
80322a9 fix procedure syntax warnings (#988) Procedure syntax is deprecated in 2.13 and results in a lot of warnings when trying to build on that version of Scala. 29 January 2019, 22:26:02 UTC
fb09dd5 update dependencies (#986) 29 January 2019, 20:36:22 UTC
d11f6aa equalsverifier 3.1.4 29 January 2019, 18:31:37 UTC
c262b24 roaring bitmap 0.7.36 29 January 2019, 18:27:49 UTC
52da9ed frigga 0.19.0 29 January 2019, 18:27:00 UTC
back to top