https://github.com/Netflix/atlas

sort by:
Revision Author Date Message Commit Date
151b062 allow `last` summary stat to be used with filters (#510) The last value for a given time series is already being tracked as part of the summary stats, but was not supported by the `:stat` operator. This change allows that stat to be used as part of a filter. 23 February 2017, 22:36:18 UTC
ac799c7 update dependencies (#509) Main change is to pick up spectator version that fixes an issue with timers for some request stats under reporting (Netflix/spectator#376). 20 February 2017, 17:22:09 UTC
a10d4c8 equalsverifier 2.2.1 20 February 2017, 16:59:12 UTC
6a78c42 sbt-jmh 0.2.21 (jmh 1.17.4) 20 February 2017, 16:52:37 UTC
c5fdad8 jol 0.7.1 20 February 2017, 16:50:35 UTC
3f4fe0d aws-java-sdk 1.11.93 20 February 2017, 16:49:41 UTC
28d3535 slf4j 1.7.23 20 February 2017, 16:48:57 UTC
7ee182c iep 0.4.16 20 February 2017, 16:48:32 UTC
0c88315 jackson 2.8.6 20 February 2017, 16:47:25 UTC
bb2edf1 spectator 0.52.0 Fixes issue with timers for some request stats under reporting (https://github.com/Netflix/spectator/pull/376). 20 February 2017, 16:45:07 UTC
2a6cf89 rewrite simple regex OR queries (#508) Changes simple regex OR queries to use a set of basic `StringMatcher`s. This significantly improves performance for the most common cases we see in practice. 20 February 2017, 02:15:21 UTC
a9fb61a short circuit AND queries in roaring index (#507) Updates the `RoaringTagIndex` to short-circuit AND queries just like `LazyTagIndex`. The second query will not only be performed if the first query has a non-empty result set. In the test environment this was the main cause of slower results when using `RoaringTagIndex` instead of `LazyTagIndex`. Also updates the version to 0.6.36. 20 February 2017, 02:15:02 UTC
95ee30d check for null token in foreachItem helper (#506) If the function `f` has a bug and consumes the `END_ARRAY` token, then before it would result in an endless loop. With this change it will fail quickly. 18 February 2017, 03:29:30 UTC
9d4b2c8 workaround for `:percentiles` on no data line (#505) In some use-cases the internal legacy system will try to eval with an explicit no data line being passed to the percentile operator. This results in an error: ``` java.util.NoSuchElementException: key not found: percentile ``` With this change we just propagate the no data line if the input does not contain the expected tags. 18 February 2017, 03:20:47 UTC
aac06cc do not apply heartbeat interval to rates (#504) If a heartbeat interval larger than the step is applied to rates, then it can artificially inflate the overall count. This can happen on occasion with the expiration pattern used by spectator and servo when reporting counters if the counter gets an update exactly one interval after it expired. Counters should be fine because they will compute the delta and average over the missed interval. The heartbeat is retained for this use-case as poller using a fixed delay may have a reporting interval that is slightly larger than the specified step. Fixes #497. 15 February 2017, 17:21:26 UTC
0540a55 split out helper method for creating the graph (#503) Adds a helper method for creating the graph definition without actually rendering it. Useful for some cases where we want to do a standalone eval and then manipulate the results rather than output to the user. 15 February 2017, 16:11:45 UTC
098274f fix internal server error due to access logging (#501) The access logger would create a URI instance and the `java.net.URI` class is strict when parsing. This has been changed to just pass in the string. It appears that the `toString` for the spray/akka-http Uri class changed in akka-http to be more consistent with what the user actually used. 11 February 2017, 03:37:12 UTC
4770896 fix #498, always honor order (#500) The order was getting ignored if there wasn't an explicit sort setting. 10 February 2017, 04:50:47 UTC
4c3a235 fix CORS headers on preflight request (#499) When switching to akka-http there was a regression in the routes. The CORS headers were no longer getting added to the OPTIONS preflight request. For the original issue see #259. This passes the test case in that commit comment using chrome. Also adds local unit test that verifies the headers are present. 10 February 2017, 03:02:41 UTC
d3caf33 update reference.conf to use akka-http settings (#496) Updates our reference.conf to use the settings from akka-http rather than spray. 08 February 2017, 20:12:46 UTC
a2340b4 cleanup usages of DiagnosticMessage.sendError (#495) The DiagnosticMessage object had some helper methods left over for sending an error response to an ActorRef. These will not work correctly using `akka-http` and the usages would not work as expected. * `TagsRequestActor`: using the handleExceptions which would not send the exception to the correct place if caught. This has been changed to remove the actor and inline into the tags api using an ask on the db actor. For now a timeout of 60s is used, but that should probably get changed. Ideally the future will get mapped directly to the data request call and then the server request timeout will be sufficient. That way there would be no nested timeouts. Will follow up on that front in later PRs. * `EvaluateActor`: was broken. It would ignore the `ImperativeRequestContext` messages being sent and the user would get a request timeout. This was also inlined into the evaluate api as there doesn't seem to be a good reason for the separate actor. Still need to create a test case for the evaluate api. 07 February 2017, 17:44:36 UTC
cc79e54 remove WebApi.getJsonParser (#494) Replaces the old `getJsonParser` helper with a directive `jsonParser`. The directive will work for all entity types rather than just strict entities that have a single `ByteString`. 07 February 2017, 15:34:49 UTC
dff38bf fix compiler warnings under 2.12 (#492) 02 February 2017, 02:56:57 UTC
b8b4dce setup cross build for 2.12 (#491) 01 February 2017, 23:04:24 UTC
fc355f7 enable cross build with 2.12.1 and 2.11.8 The 2.12.1 version is now the default version. Travis is set to build for both 2.12 and 2.11. 01 February 2017, 22:45:54 UTC
33a1a31 scala-logging 3.5.0 01 February 2017, 22:01:25 UTC
6eb2f74 sbt-scoverage 1.5.0 01 February 2017, 21:58:11 UTC
6160081 redisclient 3.3 01 February 2017, 21:56:59 UTC
c3bc608 switch from spray to akka-http (#490) Initial attempt at switching from spray to akka-http. 01 February 2017, 21:08:52 UTC
49e9a05 remove use of sleep in SSEActorSuite (#489) 31 January 2017, 19:07:24 UTC
2347719 propagate exception if thrown in constructor (#488) The json decoder will now unwrap the `InvocationTargetException` and throw the cause. This avoids a bunch of reflection non-sense the user does not care about and make it easier to see the root issue for why decoding failed. 31 January 2017, 19:00:01 UTC
0916d5f fix possible IAE if NaN values are in sorted set (#487) In some cases the sort would fail with: ``` IllegalArgumentException: Comparison method violates its general contract! ``` This was caused by having a mix of NaNs in the set of values being sorted. This change switches to use `Double.compare` which takes NaN values into account. 28 January 2017, 05:55:08 UTC
75aa46a update license year (#486) 27 January 2017, 03:08:03 UTC
6a1144d remove test sqs filter from config (#485) The filter for testing was left in the config. As it is not generally applicable it should not be in the base config files. 27 January 2017, 02:56:39 UTC
908011d move ec2 credit to separate block (#484) This makes it easier to query for just the t2 credit metrics rather than all ec2 metrics. 27 January 2017, 02:56:23 UTC
04686b5 add in mapping for t2 cpu credit metrics (#483) 26 January 2017, 17:15:16 UTC
e0972c7 fix bug with equality check on SmallHashMap (#482) For maps with the same length and hashCodes the equality check would fall back to `dataEquals`. That method had a bug where if different keys were in the same position of the underlying data array, then the values would not get checked and the entry would get skipped. This could cause some maps to incorrectly get treated as being equal even though they are not. 26 January 2017, 04:46:44 UTC
e5ccaa9 cleanup imports for lwcapi (#481) 25 January 2017, 21:35:55 UTC
3d8d58f set content type for sse and json responses (#480) 24 January 2017, 05:46:25 UTC
520493a impl of TagIndex using roaring bitmaps (#479) Adds an implementation of the `TagIndex` that uses roaring bitmaps as the underlying integer sets. Will follow up with some benchmarks and then see how it does on real world data sets. 17 January 2017, 16:47:01 UTC
22e306b update dependencies (#478) 16 January 2017, 21:19:21 UTC
8db102d spectator 0.47.0 Updates test cases to fix issue with gauge checks. 16 January 2017, 20:42:23 UTC
b8253a0 frigga 0.17.0 16 January 2017, 18:02:25 UTC
4e6ca9a equalsverifier 2.1.8 16 January 2017, 18:02:25 UTC
6cad7e4 aws-java-sdk 1.11.78 16 January 2017, 18:02:24 UTC
c82f736 iep 0.4.15 16 January 2017, 18:02:24 UTC
8032e09 slf4j 1.7.22 16 January 2017, 17:47:09 UTC
158558f akka 2.4.16 16 January 2017, 17:46:06 UTC
5039f28 track bytes sent for limiting resource usage (#475) This patch changes limiting outstanding messages to limiting outstanding bytes for slower readers. The limit is set to 10 megabytes per stream. Also, individual metrics are combined into a single HTTP write request every 100 ms (hard coded) or 100k of buffered data (hard coded) 09 January 2017, 19:22:03 UTC
f65e031 update license headers for 2017 (#476) 04 January 2017, 21:09:16 UTC
e778302 implement etags (#474) Implement ETag and If-None-Match headers for expression responses 22 December 2016, 20:55:32 UTC
3b00a75 Change the heartbeat to a statistics report, and show number of failed messages (#473) 20 December 2016, 23:53:12 UTC
aca2cfb docs: remove internal link from wiki (#472) Looks like it was added to help guide internal users that might go to this wiki. Other links should suffice and we'll revisit if it becomes a problem. Fixes #471. 14 December 2016, 14:26:17 UTC
ace239f Validate the post data before we create the actor (#470) 08 December 2016, 20:33:57 UTC
988abf2 docs: cleanup page on alerting expressions (#469) Do a pass over the alerting expressions page and make it usable. Also fixes bug in script for the image link url used with markdown templates in the root directory. 05 December 2016, 18:20:46 UTC
ac216d8 reduce Tuple2 allocations when building index (#468) The largest group of allocations when rebuilding the index was for Tuple2 objects created as part of looping over the tags. This adjusts the structure of the maps a bit so we can avoid creating those objects. 02 December 2016, 22:45:46 UTC
d9b0739 initial version of lwc api (#459) May need to find a better, name. LWC (lightweight client) API is meant to provide a simple intermediate service so we can remove a lot of the functionality that has built up in the java client over time. This is especially important given increasing internal emphasis on polyglot and stream processing. Many of the features in the internal Atlas client library follow the pattern of taking a data expression and outputting the data to it. These grew over time so there are now a bunch of different forms such as on-instance alert, cloudwatch publishing, file logging, critical clusters, etc. The LWC API can be used as a common service where those use-cases will subscribe to get the data from the clients. The actual client library then only needs to support subscriptions and understand the query/data expr subset of stack expressions to allow for local filtering and aggregation. 02 December 2016, 04:32:00 UTC
8028082 docs: update docs for axis scale param (#465) 01 December 2016, 05:13:10 UTC
692d77e fix behavior of log scale for small values (#464) Values between 0.0 and 1.0 were not being handled correctly when using the log scale. Now the values will get shifted by 1.0 before passing into the log function so the value we compute the log on will always be >= 1.0. For negative values we still reflect the log behavior across the axis, but now the 0 mark will be positioned based on the amount above and below rather than always centering it. The makes log match the other scales. 30 November 2016, 04:33:01 UTC
077d6b6 allow axis scale to be explicit (#463) Adds a `scale` parameter to the graph api that takes a string value representing the scale type to use. This replaces the boolean flag `o` parameter used to indicate a logarithmic scale. The `o` param is still supported as a fallback if `scale` is not set for backwards compatibility. The primary advantages of this change are to potentially allow for additional scale types and to allow any scale type to be explicitly set in the configuration. With the previous settings linear was only available as the default if logarithmic was not set. This change also adds power scales (`y=a*x^e+b`) with exponents of 2 (`pow2`) and 0.5 (`sqrt`). 28 November 2016, 14:03:08 UTC
bfac889 avoid using String.format in hot code paths (#462) String.format uses regex internally to parse the format string. This makes it quite expensive and removing the usage is an easy win. 23 November 2016, 16:05:11 UTC
86b8e46 benchmark showing `format` against `zeroPad` 23 November 2016, 15:53:49 UTC
2344928 use zeroPad for creating id strings 23 November 2016, 15:42:33 UTC
3332fdb use zeroPad for encoding color values Changes v2 json encoder to use a custom zero pad function for color values rather than String.format. ``` Benchmark Mode Cnt Score Error Units before thrpt 10 104178.301 ± 6087.260 ops/s after thrpt 10 142775.471 ± 6897.508 ops/s ``` 23 November 2016, 15:27:46 UTC
8582532 remove number_format flag This option isn't being used internally and the String.format calls have a high overhead due to use of regex internally. For outputs with lots of numbers this significantly improves the encoding speed. Sample for a 12h graph with 2 lines at minute resolution: ``` Benchmark Mode Cnt Score Error Units before thrpt 10 48793.213 ± 1442.775 ops/s after thrpt 10 130050.003 ± 7937.085 ops/s ``` 23 November 2016, 13:59:52 UTC
b7cabaf fix handling for JsonDeserialize(using=...) (#461) This was getting ignored before. 23 November 2016, 02:47:56 UTC
1f50b83 improve performance for accessing deserializer (#460) Comparing our custom deserializer for case classes to the default from jackson module scala: ``` Benchmark Mode Cnt Score Error Units default thrpt 10 39889.677 ± 483.340 ops/s custom thrpt 10 12219.647 ± 479.135 ops/s ``` There is a big slow down. Most of that was for trying to find the contextual deserializer for the field types. Adding something to cache that: ``` custom thrpt 10 36432.024 ± 867.252 ops/s ``` 22 November 2016, 00:16:34 UTC
5ee641f add hashed selection mode for color palettes (#458) Allows the color to be selected based on the hash of the label so that the same label can deterministically get the same color across charts. 21 November 2016, 15:54:26 UTC
eb33d8a update dependencies (#457) 21 November 2016, 15:41:04 UTC
1cdc89b sbt 0.13.13 21 November 2016, 13:43:37 UTC
1918c41 sbt-jmh 0.2.17 21 November 2016, 13:37:18 UTC
f514cff spectator 0.44.0 21 November 2016, 13:35:58 UTC
3e6bf91 iep-0.4.11 21 November 2016, 13:34:49 UTC
3f346c1 docs: fix link to overview slides (#456) 15 November 2016, 21:46:27 UTC
1677a47 honor jackson annotations on case class params (#455) 11 November 2016, 15:37:19 UTC
462ced1 jackson 2.8.4 11 November 2016, 15:28:50 UTC
3dcd895 use BeanProperty for finding field deserializers Creates a BeanProperty for each field of the case class so the context can be maintained when finding the contextual deserializer for the fields. In particular, this allows jackson to access the annotations such as `JsonDeserialize` on the parameters of the case class constructor. 11 November 2016, 15:22:19 UTC
330e5fe honor JsonProperty annotation Have custom case class deserializer honor `@JsonProperty` annotations on the fields. 08 November 2016, 22:19:00 UTC
27094d3 some patterns incorrectly interpretted as indexOf (#453) For simple patterns the `StringMatcher` will convert them to basic string operations that perform better than using regular expressions. If a simple pattern had an explicit end anchor, then it was incorrectly choosing the `IndexOf` matcher rather than falling back to using `Regex`. This change fixes the `IndexOf` pattern and also adds an `Equals` matcher to cover the simple case using `String.equals`. 08 November 2016, 14:16:44 UTC
619142e fix #451: port setting in sample memory.conf (#452) Port setting in sample memory.conf was not updated to reflect changes introduced in #396. 08 November 2016, 13:52:27 UTC
2bc3e52 docs: getting started version to 1.5.0 (#449) 03 November 2016, 15:10:21 UTC
1571b97 update to spray 1.3.4 (#450) 03 November 2016, 15:01:39 UTC
0bf37bc spectator 0.43.0 and iep 0.4.10 03 November 2016, 14:51:48 UTC
629d99d update to spray 1.3.4 This version fixes a security vulerability for directory traversals on Windows: https://groups.google.com/forum/#!topic/spray-user/4V3F_oLm_TA We aren't using that method directly and do not run on Windows, but that might not be true downstream. 03 November 2016, 14:46:40 UTC
558bbfa update base version for master to 1.6.x (#448) 29 October 2016, 16:42:03 UTC
69aa97f update dependencies (#447) 29 October 2016, 14:14:06 UTC
99ce6cd scalatest 3.0.0 29 October 2016, 14:04:55 UTC
d46ba5a equalsverifier 2.1.6 29 October 2016, 13:55:40 UTC
a8021e7 iep 0.4.9 29 October 2016, 13:54:06 UTC
756b68a sbt-jmh 0.2.16 29 October 2016, 13:50:56 UTC
7c20b73 aws-java-sdk 1.11.49 29 October 2016, 13:45:08 UTC
daed62a jol 0.6 29 October 2016, 13:42:52 UTC
5bb4e6d log4j 2.7 29 October 2016, 13:41:59 UTC
abd41f1 akka 2.4.12 29 October 2016, 13:34:05 UTC
d784f60 spectator 0.42.0 29 October 2016, 13:25:12 UTC
e01a836 jackson 2.8.3 29 October 2016, 13:21:29 UTC
faee3cb improve generic type detection (#446) Uses the type information from the bean description when available so we have more context as to the requested types for generic parameters. The `generics 2` test case would fail before this change because it would decode to a `Map` instead of `Inner`. 26 October 2016, 20:31:08 UTC
6c8aade do not call readValue if current token is null (#445) If the current token for the parser is `VALUE_NULL`, then use the default rather than call readValue. The readValue call can throw which will cause it to incorrectly fail to parse the object. Exceptions like: ``` com.fasterxml.jackson.databind.JsonMappingException: Can not deserialize instance of scala.collection.immutable.List out of VALUE_NULL token ``` 24 October 2016, 22:18:44 UTC
9747d94 fix update of invalid datapoints metric (#444) The counter was not getting incremented. 10 October 2016, 20:13:16 UTC
27036e4 fill with zero for periods of inactivity (#442) CloudWatch graphs will frequently show gaps if there is low activity and if the reporting frequency is much larger than the step size used with Atlas. With this change we'll use an explicit zero value. 01 October 2016, 21:48:40 UTC
back to top