https://github.com/Netflix/atlas

sort by:
Revision Author Date Message Commit Date
6ce80af add spring-lwc-events project to aggregate (#1554) It was overlooked and not getting published. 17 May 2023, 00:15:34 UTC
d43fb4d fix min for log-linear scale (#1553) Before it could map multiple positions to the same pixel when the first bucket was zero. 10 May 2023, 02:34:15 UTC
d675304 adjust heatmap scale behavior (#1551) Changes the min to be the minimum non-zero count for a cell, or zero if there is no data. Updates the color scale to use the actual min/max or the bounds. Before it was using zero even if an explicit lower bound was selected. Further, using the min non-zero count and max count as the range spreads the colors better over the data range. This also removes the max behavior of rounding to one significant digit. That rounding would lead to tick values that were easier to reason about, but it could round by a large amount relative to the data causing most data to go to a single color cell. Will revisit in the future for achieving more significant tick boundaries with less downsides. Some minor fixes to the inverted scale logic for the log-linear scale. 09 May 2023, 22:13:52 UTC
ee67be2 finer grained ticks for log-linear scale (#1550) Instead of jumping directly to only using the powers of 10, include an intermediate step where it will use one-third of the possible values within the range. One third was chosen as it keeps the ticks within between powers of 10 evenly spaced. 09 May 2023, 20:14:35 UTC
ebe124e update dependencies (#1549) 09 May 2023, 15:09:36 UTC
215cef7 jackson 2.15.0 09 May 2023, 14:59:09 UTC
bea2a56 RoaringBitmap 0.9.44 09 May 2023, 14:47:47 UTC
a5cec18 scala-collection-compat 2.10.0 09 May 2023, 14:47:19 UTC
ff28402 spring 6.0.8 09 May 2023, 14:46:53 UTC
a5c6118 spectator 1.6.4 09 May 2023, 14:46:11 UTC
16100bd iep 5.0.3 09 May 2023, 14:36:05 UTC
3e5fe07 add log-linear scale type (#1548) It behaves like a log scale for powers of 10 with linear behavior in between. This helps spread out the smaller values. This can be useful for things like a heatmap view of percentile distributions. 01 May 2023, 18:00:08 UTC
49ea9b8 add support for heatmaps (#1547) Adds a heatmap line style that can be used to render a set of lines on an axis as a heatmap instead of a line. There can only be a single heatmap on a particular axis. The `:heatmap` operator can be used to select this style. The cells for the heatmap are determined based on the step size for the time axis and the tick grid for the value axis. For normal lines each line that overlaps a given cell will contribute one to the count. For percentile approximations that would used with the `:percentiles` operator, they can now be used with `:percentiles-heatmap` to map the distribution to a heatmap. In this case the count for a cell will be determined by the distribution for the percentile approximation. Additional axis specific parameters have been added for `scale`, `u`, `l`, `palette`, and `label` with a prefix of `heatmap_`. The scale will control how counts are mapped to colors. Since a heatmap can combine many lines, the default legend test is just `Heatmap`. The `heatmap_label` parameter on the URL can be used to customize the label. 28 April 2023, 20:27:05 UTC
c6d3b3a add small set of named colors (#1544) The main use-case is where a particular color is desirable to indicate an intent. For example, using green for success and reds for failures. When using themes, explicit colors can be problematic when trying to ensure good contrast with the background which could vary depending on the theme picked by the user. The exact color for the named set will vary for a given theme to try and have good contrast. 27 April 2023, 18:57:32 UTC
0146787 chart: ensure json objects are closed (#1546) Ensure the jackson generator and parser objects get closed for the V2 json helper. 25 April 2023, 21:23:06 UTC
856323b lwc: add client interface for processing events (#1545) Adds `LwcEventClient` that can be used as part of an event ingestion workflow to make events available to an LWC stream. The current setup just supports a statically configured set of subscriptions for verifying the interface and testing the performance overhead. 24 April 2023, 04:07:16 UTC
ee7e066 lwc: add stack lang operators for events (#1543) Adds vocabularies for event and trace queries that will be used via LWC. 19 April 2023, 02:23:51 UTC
eb0b86d lwc: add timestamp accessor (#1542) When mapping to time series data points, we need to know the timestamp for an event. For events like spans that have a start and end, the end time is used. This is similar behvavior to a timer which would get updated at the end when the latency is known. 19 April 2023, 00:51:32 UTC
6161138 lwc: model object for event (#1541) Initial model object representing an arbitrary event to process with LWC. The raw event would typically be a log, span, or trace. The `LwcEvent` type would define how to extract data and encode the event without putting any restrictions on the structure so that LWC is agnostic to the event model and so we can avoid expensive conversions when processing. 18 April 2023, 17:32:31 UTC
daae85e ci: add jdk20 (#1540) Remove jdk19 and add jdk20. 11 April 2023, 18:44:26 UTC
d485dad update dependencies (#1539) 11 April 2023, 14:54:57 UTC
24a7265 equalsverifier 3.14.1 11 April 2023, 14:45:51 UTC
e89276c caffeine 3.1.6 11 April 2023, 14:45:07 UTC
8e7b822 postgresql 42.6.0 11 April 2023, 14:44:13 UTC
aba1ffd spring 6.0.7 11 April 2023, 14:43:20 UTC
e4b2ac9 spectator 1.6.1 11 April 2023, 14:41:59 UTC
5dd005f iep 5.0.2 11 April 2023, 14:40:54 UTC
7355adc ci: enable snapshots for version branches (#1536) 03 April 2023, 13:46:56 UTC
9cb9ccd eval: sum aggregation for gauges (#1533) Adds a new datapoint aggregator implementation to handle sum/count of gauge values that come from an aggregation service where there can be duplicates. The aggregation service would add a tag `atlas.aggr` with a key to use for grouping and deduping the relevant values. Values within a group will use max aggregation to be consistent with the behavior if there was a single instance of the aggregation service. 27 March 2023, 17:47:57 UTC
83c3bf0 add specialized map for ref with double values (#1532) Primary use-case is computing an aggregate double value based on a key. 27 March 2023, 02:27:10 UTC
280322c fix misc warnings (#1529) Cleanup some warnings and update some code to leverage newer language features. 02 March 2023, 15:57:09 UTC
3342aad update to spring 6 (#1528) Only code chagne is to remove an unnecessary use of the Inject annotation. 02 March 2023, 15:46:04 UTC
49e7afe set baseline java version to 17 (#1527) In preparation for Spring 6, drop support for jdk8 and jdk11. 02 March 2023, 15:03:34 UTC
d7a3c2d update base version to 1.8.x (#1526) 02 March 2023, 14:51:35 UTC
edf822d update dependencies (#1525) 01 March 2023, 13:01:35 UTC
2d95523 log4j 2.20.0 01 March 2023, 12:43:14 UTC
bc749d8 jackson 2.14.2 01 March 2023, 12:42:30 UTC
ad26327 postgresql 42.5.4 01 March 2023, 12:41:49 UTC
e9c2d28 embedded-postgres 2.0.3 01 March 2023, 12:41:20 UTC
3a2f07f RoaringBitmap 0.9.39 01 March 2023, 12:40:37 UTC
a9db8f1 jol-core 0.17 01 March 2023, 12:40:07 UTC
8fbbc43 equalsverifier 3.14 01 March 2023, 12:39:33 UTC
a92e8f8 iep 4.2.0 01 March 2023, 12:38:40 UTC
319dd0c spectator 1.5.4 01 March 2023, 12:37:34 UTC
bb3bfd4 fix condition for close probability (#1524) Swaps the body for the condition so it matches expectations. Before it was doing the opposite, so setting to 0.1 would close ~90% of connections rather than ~10%. 27 February 2023, 22:28:36 UTC
36a0416 akka: add helper trait for http client (#1522) Can be useful for unit tests with a more descriptive type than just using a function type. Co-authored-by: brharrington <brharrington@gmail.com> 25 February 2023, 01:09:16 UTC
b9a0837 add helper for monitored thread pools (#1520) Adds a helper class for creating an ExecutionContext based on a java thread pool. This includes using a factory with named threads and setting up the spectator monitoring. 22 February 2023, 15:10:35 UTC
86b6d6f use CORS origin as id (#1519) For requests coming from UIs that have an allowed origin host, use the origin as the default id. If one is explicitly specified via the uri parameter, then that will still be used. 15 February 2023, 17:26:00 UTC
14008a9 support default name when creating id (#1517) For some use-cases the tag maps may not have the `name` that is required by Spectator. If that is desirable, then a default name can be used to still be able to leverage utilities like the query index. 08 February 2023, 19:03:38 UTC
bc2c9b8 adjust log settings for akka (#1518) Helps to avoid timeout during logging initialization. 08 February 2023, 17:01:25 UTC
ad4e200 add Id view for SortedTagMap (#1516) Adds a `toSpectatorId` method to provide an efficient view of the SortedTagMap as a Spectator Id. This can be useful when using the Spectator QueryIndex to avoid conversions. 31 January 2023, 20:46:44 UTC
f08447c use context.id for blockingQueue metrics (#1515) Ensure the id is passed through to the queue metrics when using ClusterOps.groupBy. Also updates it to use preMaterialize rather than a publisher. Co-authored-by: Yingwu Zhao <yzhao@netflix.com> 18 January 2023, 21:52:10 UTC
4c05ca8 update dependencies (#1514) 18 January 2023, 18:09:56 UTC
dae2f99 RoaringBitmap 0.9.38 18 January 2023, 17:59:19 UTC
68a59f5 equalsverifier 3.12.3 18 January 2023, 17:57:24 UTC
45e03a2 spring 5.3.25 18 January 2023, 17:55:07 UTC
9da00a6 iep 4.1.0 18 January 2023, 17:12:58 UTC
35002ae spectator 1.5.2 18 January 2023, 16:58:57 UTC
b990089 grapher: use id parameter if present (#1513) Before it would always set it to `default` when processing the URI and the caller would have to set it to another value later. To get better consistency, recognize the id parameter when present. The caller can still override with additional logic if desirable. 16 January 2023, 20:33:32 UTC
dd859d8 add graph config to data request (#1512) This is sometimes useful to provide more context to the data layer such as passing through the query id. 14 January 2023, 00:41:00 UTC
810f36a make tests pass when running on M1 Mac (#1510) There are some differences in image rendering and floating point on the ARM M1 processors that cause tests to fail. This will need some more work, but for now disable those tests when running on ARM. The CI will still catch any issues before merging. 13 January 2023, 16:09:11 UTC
1dd6ea2 update Palette to allow all colors to be accessed (#1509) Convert the Palette to require an ArraySeq of colors. Rename the parameter and implement colors() to avoid code changing in other places. This allows the full set of colors to be accessed directly for use with things like heatmaps. 13 January 2023, 12:39:03 UTC
4a332b3 sbt 1.8.2 (#1508) 06 January 2023, 01:23:26 UTC
93ed190 sbt 1.8.1 (#1506) Co-authored-by: Brian Harrington <brharrington@gmail.com> 03 January 2023, 23:51:48 UTC
fbf2fcf update license headers for 2023 (#1507) 03 January 2023, 23:28:17 UTC
4a1e2b5 update year in readme 03 January 2023, 23:16:58 UTC
c2dd5c3 remove redundant clauses when normalizing (#1505) In some cases with tooling a `:cq` can get applied multiple times. If the common query condition has an OR clause, then that will get expanded with the cross product when computing the DNF. As a result, the normalized query resulting from applying a `:cq` once would differ from applying the same `:cq` multiple times. This change removes redundant clauses from the normalized OR set to avoid the discrepancy. Redundant means that the removed clause will not change the result since another branch of the OR would have matched. 14 December 2022, 23:59:05 UTC
8e7368c dedup or clauses when normalizing (#1504) Update the expression normalization to dedup OR clauses if the conditions are the same. 14 December 2022, 18:34:08 UTC
9a59fca use stat placeholders for normalize (#1503) When normalizing an expression that uses a filter, use one of the `:stat-$(aggr)` placeholders if possible. This avoids duplication of the input expression making them easier to read. It also helps if comparing expressions after normalization to see if they are equivalent. 14 December 2022, 13:09:40 UTC
3fe64d9 dedup query clauses during normalization (#1502) Update the normalization logic to deduplicate the same query clause within an conjunction. Also deduplicates terms within an IN clause and maps to an equals check if there is a single term. 14 December 2022, 01:24:48 UTC
7ead8dd update dependencies (#1501) 09 December 2022, 20:46:16 UTC
d60763d equalsverifier 3.12.2 09 December 2022, 20:30:30 UTC
a6682fd spring 5.3.24 09 December 2022, 20:29:11 UTC
f7c8fb6 embedded-postgres 2.0.2 09 December 2022, 20:28:25 UTC
44c6092 postgresql 42.5.1 09 December 2022, 20:27:48 UTC
6223592 iep 4.0.4 09 December 2022, 20:26:50 UTC
fc5136b scala-collection-compat 2.9.0 09 December 2022, 20:25:48 UTC
9268831 spectator 1.4.2 09 December 2022, 20:25:00 UTC
6e60919 sbt 1.8.0 09 December 2022, 20:23:44 UTC
8bcf47a add support for duration tick labels (#1497) Adding support for `&tick_labels=duration` that will scale ticks from picoseconds to years. Also change the legend behavior so that counts are no longer tagged with the same prefix as the other stats to differentiate in binary and duration mode. Fixes #1047 01 December 2022, 13:47:07 UTC
2f7054a add value function to dedup inputs (#1500) When pushing data to memory the blocks can easily overwrite when an update for a given datapoint is received. In other use-cases this can be quite expensive and undesirable. This change adds a value function that can be used to buffer the updates for a window of time and dedup the data. 29 November 2022, 12:27:33 UTC
30b4a5b add option to disable CORS (#1499) If we are proxying to another server that already supports CORS, then having multiple layers adding the CORS headers can cause problems. 23 November 2022, 21:15:48 UTC
25d2005 jackson 2.14.1 (#1498) Pull in some memory and performance optimizations in jackson ([2.14.1]). [2.14.1]: https://github.com/FasterXML/jackson/wiki/Jackson-Release-2.14.1 22 November 2022, 17:09:08 UTC
ae06f6b flush meters when a time grouping is emitted (#1496) When TimeGrouped flushes a finalized time grouping also have it explicitly flush the batch meter updaters. This avoids the counts potentially showing up much later due to a low rate. 21 November 2022, 19:48:43 UTC
34ed816 ignore heartbeat for dropped old (#1495) The heartbeat just ensures the stream keeps moving even if there is no data. It is expected to be delayed from the actual flow a bit. 21 November 2022, 15:02:23 UTC
73e7ec8 parse messages after merge of streams (#1494) Moves the step for parsing messages after the merge of streams from each of the LWCAPI nodes. This makes it easier to keep track of the overall number of concurrent requests and ensure it backpressures rather than enqueues. Also changes to use the ordered variant. Preserving the order could be important to avoid newer messages getting pushed through first and moving the cutoff point for the time grouping. 21 November 2022, 13:17:47 UTC
bf3d844 monitor flow just after evaluation (#1493) Add a check to monitor the flow just after the final evaluation step and before flattening the messages. This helps show the overall delay for a downstream consumer which is more relevant than the delay for the indvidual messages. 19 November 2022, 15:29:20 UTC
5e60008 add hint for controlling y-axis color (#1492) Adds a rendering hint, `ambiguous-multi-y`, for the graph image that will disable the behavior of using the first line on an axis for the axis color. Instead it will use the color selected based on the theme. As indicated by the name, in this mode there will not be any visual cue as to which axis corresponds to data on the graph image. 18 November 2022, 04:10:49 UTC
82b412f lwcapi: only update subscription list on changes (#1491) Creating the full list of of all subscriptions can be expensive when there are a lot of expressions. Update it to only be done when there are changes the same as the query index update. 14 November 2022, 16:58:34 UTC
e8b9b49 lwc: keep input to TimeGrouped batched (#1490) Refactors the stream from parsing the messages from lwcapi to the TimeGrouped stage to keep the datapoints batched. This significantly reduces the number of messages passed between the stream stages and achieve a higher throughput. Also creates a dedicated thread pool to use for parsing the messages as that is the most time consuming step. 13 November 2022, 15:28:35 UTC
358aef3 lwc: remove some monitorFlow steps (#1489) When processing data with a high input volume the `ConnectionSources`, `InputLines`, and `LwcDatapoints` monitors would have a high throughput and the same number of elements flowing through. This change removes two of them so there is now just `InputLines`. This helps reduce overhead in the hot path. 12 November 2022, 20:37:44 UTC
d68272f lwc: use SortedTagMap for data points (#1488) The main advantage is that for eval it can just quickly copy into an array without all the hashing and extra space in the hash array to avoid collisions. Note, this change is safe to roll out as long as the lwcapi service is pushed first. 12 November 2022, 00:32:23 UTC
23bc96d switch to spectator batch updaters (#1487) Use the spectator batch updaters in some of the key parts of the eval stream that were manually batched before. 11 November 2022, 20:04:19 UTC
55485bd batch meter updates for TimeGrouped (#1486) Batch the counter updates in time grouped to avoid updating them in a tight loop for high throughput streams. 10 November 2022, 19:37:28 UTC
2374aff batch updates to meters when monitoring flows (#1485) Updates the monitor flow stage to batch the updates to the meters. This avoids some of the overhead for calling gettimeofday frequently for high volume streams. 10 November 2022, 19:33:22 UTC
3e935c1 only update index for new items (#1484) The updates for the existing items will get filtered out later, but we can avoid adding them in the first place to reduce the overhead a little bit. 10 November 2022, 02:15:48 UTC
70565a0 remove usage of javax annotations (#1482) These have been moved to jakarta in later versions. With the way we are using Spring, the annotations are not necessary. 10 November 2022, 00:12:58 UTC
a9d0d9b json: enable fast double operations (#1483) Enable the fast double reading/writing that was added in jackson 2.14.0. 09 November 2022, 19:36:18 UTC
4bcee87 update dependencies (#1481) 09 November 2022, 15:49:58 UTC
6ef6a5e RoaringBitmap 0.9.35 09 November 2022, 15:28:55 UTC
back to top