https://github.com/Netflix/atlas

sort by:
Revision Author Date Message Commit Date
13ab8da fix #646, make compatible with jackson 2.9 (#701) The constructor for AnnotatedParameter now takes another parameter. Also the PropertyMetadata for a BeanProperty needs to be set or we get NPE in the test cases. A few other changes were made to clear up deprecation warnings. 06 October 2017, 16:47:29 UTC
7e8f0a8 fix early exit for Evaluator.createPublisher (#698) When reading from a file or resource it should stop as soon as the data has been consumed. When connecting to a remote URI it is supposed to keep going. Before it was stopping because the source would complete. 03 October 2017, 20:42:56 UTC
170a73c more test cases for FinalExprEval step (#697) Adds some test cases for the FinalExprEval step of the atlas-eval library. Could not reproduce #693. 03 October 2017, 15:27:02 UTC
4490a93 akka 2.5.6 (#696) Improves support for jdk9. Gets us closer to #695. 02 October 2017, 15:01:45 UTC
25fe6b6 send exceptions from db back to sender (#692) This should fix #684. Before the exception was getting ignored leaving the user to wait for a timeout and not providing any context. As a side note this was already resolved in some of the internal wrappers, this change makes it send back a Failure type on exception to stay compatible with the internal step and allow us to keep reducing the differences. 24 September 2017, 20:23:57 UTC
abf547c custom map wrapper to improve get performance (#691) For some use-cases when feeding into streaming evaluator there are a lot of get calls on the underlying tag maps for the datapoints. This change adds a custom map wrapper that maps the `get(key)` call on the java map to the `getOrNull(key)` on the SmallHashMap. This avoids the allocation of the Option when using the default scala wrapper. 20 September 2017, 17:50:51 UTC
b4792a7 explicit error for unsupported expressions (#690) Some operations like `:offset` are not supported when performing a streaming evaluaton. These will now result in an error for that expression being propagated back to the user. 20 September 2017, 15:59:34 UTC
a049679 add counters tracking the number of events (#689) Tracks the number of events seen during various phases of the evaluation pipeline. The phase id is prefixed so the group by will be ordered in the same manner as they occur in the flow. 20 September 2017, 00:50:23 UTC
95149e5 reduce thread contention in SubscriptionManager (#688) Refactors the subscription manager to make the updates cheaper and minimize the synchronization that is needed. Now the only synchronization is to ensure the that the cleanup for the sub handlers map will not have a race condition with adding new handlers. This change also avoids the more costly computation of the subscription handlers from the registration map. On a test node with real traffic it significantly reduced the CPU and thread contention observed. 19 September 2017, 21:46:40 UTC
e986802 Merge pull request #687 from brharrington/subscribe-perf improve performance for bulk subscribe 19 September 2017, 17:53:21 UTC
403299b improve performance for bulk subscribe When creating a subscription with many expressions, the `updateSubHandlers()` method in the subscription manager is quite expensive. Before, the subscribe api would end up calling this once per expression, now it will only call it once. 19 September 2017, 17:46:05 UTC
589a954 sbt 1.0.2 (#686) Fixes terminal echo issue. 19 September 2017, 00:02:28 UTC
28407d0 add configuration option for allowed cors origins (#685) Adds the `atlas.akka.cors-host-patterns` setting that can be used to set an eplicit whitelist of origins that are allowed to receive CORS headers. Also adds `Access-Control-Allow-Credentials` for use-cases that need to work with cookies. 19 September 2017, 00:02:08 UTC
25a7e9a use debug log level for instance changes (#683) The info level is a bit noisy when there are regular deployments. 18 September 2017, 22:38:34 UTC
6e47d09 more consistent use of access logger (#682) Use access logger for all client requests made during the eval. 16 September 2017, 03:36:43 UTC
4b1ba17 cleanup unused client param (#681) The client is retrieved from the context now so nothing is using this client. 16 September 2017, 01:46:17 UTC
4a62c26 neo-sbt-scalafmt 1.12 (#680) Fixes the warnings like: ``` Warning: Unknown Scalafmt version 1.2.0; using 1.0 interface ``` 16 September 2017, 00:19:46 UTC
03a83c6 improve error handling for final eval step (#679) Addresses three problems with the final eval step: 1. Errors parsing the expression will now get sent to back as a diagnostic message on the stream. 2. Any errors that occur when running the evaluation on a set of data will now get sent to the user as a diagnostic message. 3. Fixes the no data behavior to match the backend. Before it would result in an exception during evaluation instead of a no data line. 15 September 2017, 20:38:12 UTC
d45a133 Evaluator.main stops immediately (#678) The source would stop as soon as the input was processed and then main would complete. This change adds a repeat to keep it going until the user decides to stop the process. 15 September 2017, 16:33:14 UTC
5f21543 remove unused ref to subscribe actor (#677) The actor was removed in #671. 14 September 2017, 01:42:42 UTC
0f80da2 change DataSources constructor to take a set (#676) The constructor was widened to take a Collection instead of a Set, but this causes binary compatibility issues. 14 September 2017, 01:42:21 UTC
b36698b do not assume stream path for backend (#675) There are multiple paths that will get used now and the components already know the correct path for what they are doing. Currently this causes a problem for the SubscriptionManager because it is posting to `/stream/$id/subscribe` instead of `/subscribe`. 13 September 2017, 14:01:06 UTC
1722250 fix #576, reuse connections to instances (#674) Refactors the eval library to share the Eureka lookups and maintain a single long-term connection to each LWC instance. 12 September 2017, 03:45:29 UTC
b6cac6f add test case for syncing multiple expressions (#673) Additional test case for syncing multiple expressions with the `/v1/subscribe` api. Fixes the set of removed ids to be computed across all expressions rather than individually for each split. 07 September 2017, 16:40:01 UTC
e49e0fc sync the set of expressions for subscribe requests (#672) Before when using `/v1/subscribe` the set of expressions would keep growing. Now the set of expressions will be synced with the list provided. The user is responsible for keeping track of the list of needed expressions. 07 September 2017, 15:50:11 UTC
bb51417 fix 503 after first subscribe request (#671) The SubscribeActor was shutting itself down after the first messages and thus wasn't available for any subsequent requests. This actor isn't really needed and just added complexity so this has been folded into the SubscribeApi. 07 September 2017, 15:23:54 UTC
7681712 remove ignored `pass` directive (#670) 07 September 2017, 00:07:26 UTC
984f57a cleanup log messages for added and removed sources (#669) Before the log line would get really long and unweildy if there were a lot of sources added or removed. Now the info level log will just show the overall number and debug level if enabled will show the individual sources as separate entries. 05 September 2017, 22:58:10 UTC
684d62c add simple main to Evaluator for debug uses (#668) The usage is: ``` $ cat uris.txt | project/sbt "atlas-eval/run additional.conf" ``` 01 September 2017, 23:55:15 UTC
d86907a disable size limit on stream response (#667) Since these are meant to be long lived, there should not be a bound on the max size of the stream. 01 September 2017, 20:28:16 UTC
35a767a scalafmt config to help ensure consistency (#666) This is being used on some of the internal projects across the team. Should help with consistency, but makes it harder to investigate the git history because of all the changes for the initial format. To avoid that problem in the future the format is checked as part of the PR build. 01 September 2017, 04:51:01 UTC
16eb4fa fixes #19, differentiate error graph images (#665) I altered the error graph image returned to differentiate user vs system errors following suggested approaches to accommodate color blindness. The approach differentiates via the prefix text and colors that should be non-ambiguous. I uploaded the test images with sample text to http://www.color-blindness.com/coblis-color-blindness-simulator/ in order to get an idea of what those with varying types of color blindness would see in order to validate the differentiation. 01 September 2017, 03:07:46 UTC
5fbe43a akka-http 10.0.10 (#664) Fixes race condition with the idle timeout on the host connection pool (akka/akka-http#1245). 31 August 2017, 20:06:06 UTC
afe5254 sbt 1.0.1 (#662) Fixes some minor issues, unfortunately just running `project/sbt` will still leave the terminal in a bad state. Need to create a minimal example and report. 31 August 2017, 02:53:28 UTC
f71934c make ShardsSuite more resilient to false positives (#661) Updates the checks for uniform distribution of the ids to compare the average with the min and the max rather than comparing the min to the max. In rare cases we were seeing the min being over the 10% threshold to the max. Fixes #660. 31 August 2017, 02:53:12 UTC
a86f5c6 log4j 2.9.0 30 August 2017, 23:00:59 UTC
7e59c21 aws-java-sdk 1.11.185 30 August 2017, 23:00:59 UTC
f532fbc roaringbitmap 0.6.51 30 August 2017, 23:00:59 UTC
deffe69 caffeine 2.5.5 30 August 2017, 23:00:59 UTC
d05bb71 joda convert 1.8.3 30 August 2017, 23:00:59 UTC
b81fa14 akka 2.5.4 30 August 2017, 23:00:59 UTC
cfd77ca equalsverifier 2.3.3 30 August 2017, 23:00:59 UTC
44ba657 jackson 2.8.9 30 August 2017, 23:00:59 UTC
33d730b iep 1.0.4 30 August 2017, 23:00:59 UTC
916627d scalatest 3.0.4 30 August 2017, 23:00:59 UTC
0995a0d scala-logging 3.7.2 30 August 2017, 23:00:59 UTC
735a1c8 recover from errors on response source (#658) The LWC HostSource was not recovering if there was a failure on the entity source from the response. This would cause the overall stream to fail and stop producing data. With this change the error will get logged and it will get retried like any other failure. 30 August 2017, 22:39:16 UTC
5b4654f refactor sub manager to ensure cleanup works (#657) Updates the subscription manager to it is also tracking the expressions. The expression database classes are no longer needed and were removed. This change makes it easier to ensure that all resources for a given stream will be properly cleaned up when the connection goes away. Fixes #651. 30 August 2017, 16:52:15 UTC
7879a06 update ids for lwc to be consistent with metrics (#656) Changes the id strings used for lwc expressions to be more consistent with how metric ids are generated. 29 August 2017, 19:46:04 UTC
1b8066c remove GlobalUUID cruft (#655) This is left over from when redis was used in earlier versions. 29 August 2017, 19:33:00 UTC
fc7659e remove unused class TTLManager (#654) 29 August 2017, 17:46:40 UTC
269a232 support chaining with SmallHashMap.Builder (#653) Updates the return types for `add` and `addAll` to return the Builder so they can be chained. 25 August 2017, 20:22:32 UTC
62ce53c fix endless loop for numProbesPerKey (#652) This method was incorrectly using the data length rather than the capacity when looping over the array. If a key had a collision and was hashed to a position that was larger than the data length, then it would be an endless loop because the key entry would never be found. 25 August 2017, 19:52:06 UTC
e0b32df update to spectator 0.57.1 (#648) Fixes issues when running on jdk9: ``` Cause: java.lang.IllegalAccessException: access to public member failed: com.netflix.spectator.api.RegistryConfig.gaugePollingFrequency()Duration/invokeSpecial, from com.netflix.spectator.api.RegistryConfig/2 (unnamed module @7d3cb5af) at java.base/java.lang.invoke.MemberName.makeAccessException(MemberName.java:914) at java.base/java.lang.invoke.MethodHandles$Lookup.checkAccess(MethodHandles.java:2193) at java.base/java.lang.invoke.MethodHandles$Lookup.checkMethod(MethodHandles.java:2133) at java.base/java.lang.invoke.MethodHandles$Lookup.getDirectMethodCommon(MethodHandles.java:2282) at java.base/java.lang.invoke.MethodHandles$Lookup.getDirectMethodNoSecurityManager(MethodHandles.java:2276) at java.base/java.lang.invoke.MethodHandles$Lookup.unreflectSpecial(MethodHandles.java:1800) at com.netflix.spectator.impl.Config.lambda$createProxy$3(Config.java:131) ``` 12 August 2017, 15:20:30 UTC
84c955b update to sbt 1.0.0 (#647) Requires updating a number of the sbt plugins needed for publishing. These changes have been verified in the iep project already. Dropped some of the non-essential plugins that are not yet compatible. 12 August 2017, 15:10:15 UTC
e797f08 use built in text/event-stream media type (#645) As of 10.0.8 akka-http supports the `text/event-stream` media type. We no longer need it as a custom one. 05 August 2017, 17:24:01 UTC
48a747a handle :all expressions with streaming eval (#644) There is a bigger discussion on whether we should remove `:all`, but for now all DataExpr types should be supported. 05 August 2017, 17:11:16 UTC
0672bad disable eviction warnings for update task (#643) Trying to clean up some of the noise in the build logs. No one is paying attention to these warnings and if there is a real compatibility problem it should be caught in tests or the integration environment. 04 August 2017, 15:47:31 UTC
54283e9 allow the local mapper with just group size (#642) The local mapper doesn't actually need the full group details just the size. Originally it took the group, but there are a number of uses now that just create a fake group with the right size. 04 August 2017, 14:57:56 UTC
5e2aef4 fix prefix for SQS message size metric (#641) s/sns/sqs/ 02 August 2017, 22:29:57 UTC
5adf6d7 docs: fix links for deuteranopia and deuteranomaly (#640) They were linking to the wrong sub-sections. 02 August 2017, 15:09:42 UTC
00e5c8a update default path pattern for StreamSupervisor (#639) We sometimes see paths for the stream supervisor that look like: ``` akka://test/user/StreamSupervisor-99961 ``` This creates a lot of ids which aren't that useful. This change updates the default pattern to just extract the prefix and ignore the counter at the end. So activity for all stream supervisors will show up as a single metric. 01 August 2017, 17:29:49 UTC
8c807ee fix key for adding tags to dynamodb errors (#638) The key in the configuration was singular instead of plural. Need to think about a better way to validate this in the future. 01 August 2017, 00:46:30 UTC
0d373a1 add helper for simple shard mapping (#637) Move over the internal helper utility for mapping data to a set of instances. This is typically used with a service like edda that maintains stable slotting for instances within auto-scaling groups. These simple schemes are preferred for the core monitoring system to avoid dependencies on complex infrastructure like zookeeper that are prone to having correlated failure with the key systems we need to monitor. 28 July 2017, 18:14:16 UTC
16421f0 update to scala 2.12.3 (#636) It is supposed to have improved compiler performance. 28 July 2017, 00:20:55 UTC
af3f4b5 cross link the pages for data/math aggregate functions (#635) Adds cross-links so it is easier for the user to get from the math variant of an aggregate function to the data variant docs and vice versa. The distinction between these is usually something the user doesn't need to worry about, but sometimes causes confusion. 26 July 2017, 23:51:37 UTC
61de4f0 add mappings for application load balancer stats (#634) Adds basic mappings for the ApplicationELB metrics in CloudWatch. There was a bit of debate on whether the LoadBalancer and TargetGroup dimensions should be kept as is or extract the name and only show that. The ids are rarely useful to the end user and add quite a bit of noise when selecting in the UI. For now though we just map the values in as they are provided in CloudWatch. 22 July 2017, 16:34:59 UTC
1fe5d32 convert invalid characters for polled metrics (#633) When using an alias with a lambda it will get encoded as a `:alias` suffix on the resource dimension. Before those stats were getting dropped as invalid. 21 July 2017, 22:29:19 UTC
4b23695 fix unit for s3 request timers (#632) The latency is in milliseconds and we were treating it as seconds. 21 July 2017, 21:03:12 UTC
4c7ff56 add mapping for s3 request metrics (#631) Collect s3 request metrics if enabled. They need to get enabled for a given bucket to be available. 20 July 2017, 15:33:59 UTC
e283528 improve error message when missing uri param (#630) Fixes #574. Improves the error message returned if the input URI is missing required parameters. It has also been changed to get returned as a diagnostic message as part of the stream so that a single bad URI will not stop the processor for all evaluations. 13 July 2017, 22:17:14 UTC
6c6204c refresh dependencies (#627) 04 July 2017, 17:17:45 UTC
3250f95 jsr305 3.0.2 04 July 2017, 17:08:37 UTC
c69cd42 spectator 0.56.0 04 July 2017, 17:01:36 UTC
1fb621c akka-http 10.0.9 04 July 2017, 16:59:54 UTC
93c2236 akka 2.5.3 04 July 2017, 16:55:15 UTC
695c429 aws-java-sdk 1.11.158 04 July 2017, 16:52:29 UTC
775706b roaringbitmap 0.6.45 04 July 2017, 16:51:39 UTC
dbc4453 equalsverifier 2.3.1 04 July 2017, 16:50:42 UTC
ef312e7 iep 1.0.2 04 July 2017, 16:49:05 UTC
6dc5e10 update merge to also dedup the list (#626) For the use-cases we care about the input list will already be sorted and uniqued. This fixes the merge to also remove duplicate values across the lists. 29 June 2017, 22:24:03 UTC
2e98374 helper for merging sorted lists (#625) Broken off from larger effort that is still in-progress. Basic helper utility for merging a collection of sorted lists. One such use-case is merging tag list results coming back from many shards. 29 June 2017, 21:29:14 UTC
7e7d093 fix error when rendering with a long time range (#624) When trying to render a chart with a long time range a NoSuchElementException would result if the graph width was too small. Sample exception below: ``` java.util.NoSuchElementException: head of empty list at scala.collection.immutable.Nil$.head(List.scala:428) ~[scala-library-2.12.2.jar:?] at scala.collection.immutable.Nil$.head(List.scala:425) ~[scala-library-2.12.2.jar:?] at com.netflix.atlas.chart.graphics.Ticks$.time(Ticks.scala:265) ~[atlas-chart_2.12-1.6.0-SNAPSHOT.jar:1.6.0-SNAPSHOT] ``` The cause is that there were no options for meeting the desired number of major ticks given the options for timeTickSizes. This change uses a simpler selection method with just major ticks for longer ranges setting it to the name of the month or year. 29 June 2017, 16:34:41 UTC
be4cd8b add :clamp-min and :clamp-max (#623) Allows the user to restrict the min and max values of the input respectively. The most common use-case motivating this is to be able to support a bounded auto-scaling for data on an axis. The axis lower and upper limits are either explicit or automatic. These operators give more flexiblity and can be set for a given line to tune its behavior. Name was chosen to match the same operators in Promoetheus. 20 June 2017, 18:05:17 UTC
1b4d0aa cache most recent datapoints from cloudwatch (#621) In some cases if there are a lot of cloudwatch metrics, then the polling can start to get throttled and cannot keep up at the desired rate. This can cause spotty reporting until the limit can get raised or the poller config is changed to be less aggressive. To minimize the visibility pf the problem for a user consuming the metric the last datapoint is now cached and the reported value comes from the local cache. This does mean that when such a problem is happening the wrong value might be propagated for several minutes. From recent testing though in the more typical case it avoids confusion more often until there is a better way to access cloudwatch data. If it is a big concern the ttl can be configured to a smaller value. 19 June 2017, 15:17:12 UTC
346e9c6 add mapping for ApproximateAgeOfOldestMessage (#620) New SQS metric that was added a while back: https://aws.amazon.com/about-aws/whats-new/2016/08/new-amazon-cloudwatch-metric-for-amazon-sqs-monitors-the-age-of-the-oldest-message/ 19 June 2017, 14:48:36 UTC
66439f1 fix IllegalFormatConversionException (#619) Illegal conversion when trying to access the group by key for a data expression. ``` java.util.IllegalFormatConversionException: x != com.netflix.atlas.core.model.ItemId at java.util.Formatter$FormatSpecifier.failConversion(Formatter.java:4302) at java.util.Formatter$FormatSpecifier.printInteger(Formatter.java:2793) at java.util.Formatter$FormatSpecifier.print(Formatter.java:2747) at java.util.Formatter.format(Formatter.java:2520) at java.util.Formatter.format(Formatter.java:2455) at java.lang.String.format(String.java:2940) at scala.collection.immutable.StringLike.format(StringLike.scala:351) at scala.collection.immutable.StringLike.format$(StringLike.scala:350) at scala.collection.immutable.StringOps.format(StringOps.scala:29) at com.netflix.atlas.core.model.DataExpr.groupByKey(DataExpr.scala:35) ``` 15 June 2017, 20:18:20 UTC
938edd6 docs: add Roy's presentation from Monitorama (#618) 13 June 2017, 17:36:25 UTC
4e73843 refresh dependencies (#617) 06 June 2017, 16:38:46 UTC
45b0f76 iep 1.0.1 06 June 2017, 16:27:19 UTC
65d70d1 akka 2.5.2 Note, there was a signature change to `FileIO.toPath` causing the build to break. Looks like the type for the set of options was changed leading to: ``` Error:(115, 34) type mismatch; found : scala.collection.immutable.Set[java.nio.file.StandardOpenOption] required: Set[java.nio.file.OpenOption] Note: java.nio.file.StandardOpenOption <: java.nio.file.OpenOption, but trait Set is invariant in type A. You may wish to investigate a wildcard type such as `_ <: java.nio.file.OpenOption`. (SLS 3.2.10) .toMat(FileIO.toPath(file, options))(Keep.right) ``` 06 June 2017, 16:14:56 UTC
d080359 akka-http 10.0.7 06 June 2017, 15:08:59 UTC
ea8db2b fix spelling in publish-test script (#616) s/anwser/answer/ 06 June 2017, 15:08:36 UTC
8a75a59 jol-core 0.8 06 June 2017, 15:07:49 UTC
bbd4a62 sbt-jmh 0.2.25 06 June 2017, 15:06:49 UTC
975785a caffeine 2.5.2 06 June 2017, 15:05:31 UTC
0e83dac equalsverifier 2.3 06 June 2017, 15:04:46 UTC
4138533 log4j 2.8.2 06 June 2017, 15:04:05 UTC
81e3e37 aws-java-sdk 1.11.133 06 June 2017, 15:01:27 UTC
4985299 add more test cases for cors (#615) Add some test cases for cors on error responses. There was a report CORS headers were not added to errors. That does not seem to be the case. Most likely they did not handle the rejections and the filter was not applied to the error. 06 June 2017, 14:43:39 UTC
back to top