https://github.com/Netflix/atlas

sort by:
Revision Author Date Message Commit Date
df0bf3d Merge pull request #384 from skandragon/trend-streaming add a test case for Trend streaming 05 July 2016, 18:04:53 UTC
275501a add a test case for Trend streaming 05 July 2016, 17:52:05 UTC
7e8db84 fix :sdes to handle streaming updates Refactors the `:sdes` operator to properly handle evaluation with incremental updates. Before the `pos` was never getting updated, so the first value would get set to `NaN` and all others would not be modified. As part of this change the code was refactored a bit so that the `OnlineSlidingDes` instance is now part of the state object. This means that the state passed in to eval will get modified. For now that is ok, but the plan is to clean it up in future commits as part of making the state serializable. 05 July 2016, 17:30:19 UTC
ed361fb Merge pull request #380 from brharrington/legend-decode hex decoding for legend values (bug 1271) 18 June 2016, 22:49:08 UTC
0661cc4 Merge pull request #379 from brharrington/dep-updates refresh dependencies 18 June 2016, 22:39:24 UTC
d42af89 hex decoding for legend values (bug 1271) Provides a style operator, `:decode`, that can be used to perform hex decoding of the legend text. Background: internally we restrict input to simple alpha-numeric characters, `.`, `-`, and `_`. if characters are used the data will get dropped as invalid. If using the servo-atlas module, then it will convert invalid characters to `_`. Most commonly that was done for spaces. The restriction is to ensure that it is easy and safe to craft the query expressions and include them as part of the URI in a variety of contexts. Precise linkability is extremely important and should not be compromised. Some users do their own url encoding and the `%` then gets converted to an `_`. This allows them to undo the restriction and get the original characters back. With this change that decoding can now be specified as part of the expression. There are quite a few misgivings about this feature. In my view this feature encourages bad behavior such as trying to encode structural information into tag values or trying to abuse it as a more general purpose data store. The compromise for now is supporting the decode with a clear warning in the docs and we'll see how it goes. 18 June 2016, 22:15:31 UTC
4fcacad update launcher version 18 June 2016, 20:23:19 UTC
a62d7f0 iep 0.4.3 18 June 2016, 20:21:19 UTC
10ba7c8 aws-java-sdk 1.11.8 18 June 2016, 20:19:20 UTC
3f8a19c spectator 0.40.0 18 June 2016, 20:18:30 UTC
d273399 log4j 2.6.1 18 June 2016, 20:17:39 UTC
59f56d1 caffeine 2.3.1 18 June 2016, 20:17:01 UTC
3e00f4a equalsverifier 2.1.1 18 June 2016, 20:16:28 UTC
d6aed41 guice 4.1.0 18 June 2016, 20:08:59 UTC
4aec834 Merge pull request #378 from brharrington/query-idx-memuse reduce memory use for query index 13 June 2016, 15:58:50 UTC
7fe80d9 improve performance of misses with SmallHashMap The default apply will create a map with the exact size of the input to optimize for memory use. This results in terrible performance for lookups of items that are not in the map because the entire array has to be scanned. In this case we use the builder and give 2x the size of the input so there will be 50% unused entries. Since we expect many misses this gives us better performance and memory overhead isn't too bad. It is still much lower than default immutable map since we don't need entry objects. **Performance Using Default Map** ``` [info] Benchmark Mode Cnt Score Error Units [info] QueryIndexMatching.index_100 thrpt 10 1495308.867 ± 54215.813 ops/s [info] QueryIndexMatching.index_1000 thrpt 10 1447373.235 ± 60491.960 ops/s [info] QueryIndexMatching.index_10000 thrpt 10 1343245.217 ± 82847.803 ops/s [info] QueryIndexMatching.index_100000 thrpt 10 1290678.687 ± 68877.756 ops/s [info] QueryIndexMatching.loop_100 thrpt 10 734350.577 ± 57604.617 ops/s [info] QueryIndexMatching.loop_1000 thrpt 10 65103.998 ± 3152.273 ops/s [info] QueryIndexMatching.loop_10000 thrpt 10 3895.021 ± 406.819 ops/s [info] QueryIndexMatching.loop_100000 thrpt 10 385.435 ± 14.239 ops/s ``` **Performance Before Change with SmallHashMap** ``` [info] Benchmark Mode Cnt Score Error Units [info] QueryIndexMatching.index_100 thrpt 10 77343.378 ± 16091.544 ops/s [info] QueryIndexMatching.index_1000 thrpt 10 7452.957 ± 131.788 ops/s [info] QueryIndexMatching.index_10000 thrpt 10 938.720 ± 22.593 ops/s [info] QueryIndexMatching.index_100000 thrpt 10 51.562 ± 4.846 ops/s [info] QueryIndexMatching.loop_100 thrpt 10 739149.328 ± 38309.430 ops/s [info] QueryIndexMatching.loop_1000 thrpt 10 73096.869 ± 4677.274 ops/s [info] QueryIndexMatching.loop_10000 thrpt 10 4290.191 ± 496.381 ops/s [info] QueryIndexMatching.loop_100000 thrpt 10 344.407 ± 56.982 ops/s ``` **Performance After Change with SmallHashMap** ``` [info] Benchmark Mode Cnt Score Error Units [info] QueryIndexMatching.index_100 thrpt 10 1386693.379 ± 52800.430 ops/s [info] QueryIndexMatching.index_1000 thrpt 10 1275380.749 ± 34382.363 ops/s [info] QueryIndexMatching.index_10000 thrpt 10 1346079.349 ± 37157.088 ops/s [info] QueryIndexMatching.index_100000 thrpt 10 1281227.628 ± 24131.273 ops/s [info] QueryIndexMatching.loop_100 thrpt 10 738372.264 ± 49134.852 ops/s [info] QueryIndexMatching.loop_1000 thrpt 10 69248.131 ± 1878.153 ops/s [info] QueryIndexMatching.loop_10000 thrpt 10 6038.581 ± 2779.993 ops/s [info] QueryIndexMatching.loop_100000 thrpt 10 404.772 ± 35.624 ops/s ``` **Memory Usage** Memmory use for 100 queries from logs: ``` Object Size (bytes) ------------------------------------------- Query index default map 466,632 Query index small before 246,568 Query index small after 241,064 ``` Note that the reduction here is because there are many small maps with less than 5 items. These now keep the special cased default maps for those sizes. So we see a bit of a reduction overall even though the size of the actual SmallHashMap intances will be larger. 11 June 2016, 23:03:41 UTC
6a5761b use SmallHashMap for children of QueryIndex The small hash map class uses quite a bit less memory than the default immutable map in scala. For a sample dataset of 100 queries pulled from logs the index size is reduced by about 50%: ``` Object Size (bytes) ------------------------------------------- Query index default Map 466,632 Query index SmallHashMap 246,568 ``` 11 June 2016, 21:45:04 UTC
e5900e7 reuse common sub-indexes The query index was just recursively building the query index tree resulting in many common sub-trees. This is wasteful for both computation and memory use. This change adds a simple map to lookup if a sub-index has already been computed. For the naive test query set it doesn't result in all that big of a reduction: ``` Object Size (bytes) ------------------------------------------- Input queries 22,896 Query index 27,560 Query index w/ reuse 24,968 ``` Subtracting out the size of the input queries: ``` Object Size (bytes) ------------------------------------------- Query index 4,664 Query index w/ reuse 2,072 ``` Around 50% reduction in overhead for the index. Looking at a real dataset of 100 queries pulled from logs we see a much bigger reduction: ``` Object Size (bytes) ------------------------------------------- Input queries 27,256 Query index 65,700,776 Query index w/ reuse 466,632 ``` Footprint for query index before change: ``` com.netflix.atlas.core.index.QueryIndex@28194a50d footprint: COUNT AVG SUM DESCRIPTION 150 50 7584 [C 2 48 96 [I 23991 43 1050512 [Lscala.collection.immutable.HashMap; 1092317 24 26215608 com.netflix.atlas.core.index.QueryIndex 168 24 4032 com.netflix.atlas.core.index.QueryIndex$Entry 270 24 6480 com.netflix.atlas.core.model.Query$And 140 24 3360 com.netflix.atlas.core.model.Query$Equal 5 24 120 com.netflix.atlas.core.model.Query$In 2 16 32 com.netflix.atlas.core.model.Query$Not 5 24 120 com.netflix.atlas.core.model.Query$Or 5 24 120 com.netflix.atlas.core.model.Query$Regex 1 16 16 com.netflix.atlas.core.model.Query$True$ 2 24 48 com.netflix.atlas.core.util.StringMatcher$Regex 2 24 48 com.netflix.atlas.core.util.StringMatcher$Regex$$anon$1 3 24 72 com.netflix.atlas.core.util.StringMatcher$StartsWith 150 24 3600 java.lang.String 2 72 144 java.util.regex.Pattern 2 16 32 java.util.regex.Pattern$Begin 1 32 32 java.util.regex.Pattern$Curly 1 16 16 java.util.regex.Pattern$Dot 1 16 16 java.util.regex.Pattern$LastNode 1 16 16 java.util.regex.Pattern$Node 2 24 48 java.util.regex.Pattern$Slice 1 16 16 scala.None$ 3 16 48 scala.Some 149671 24 3592104 scala.Tuple2 503625 24 12087000 scala.collection.immutable.$colon$colon 149671 32 4789472 scala.collection.immutable.HashMap$HashMap1 23991 24 575784 scala.collection.immutable.HashMap$HashTrieMap 1 16 16 scala.collection.immutable.Map$EmptyMap$ 375497 24 9011928 scala.collection.immutable.Map$Map1 164983 32 5279456 scala.collection.immutable.Map$Map2 56618 40 2264720 scala.collection.immutable.Map$Map3 16832 48 807936 scala.collection.immutable.Map$Map4 1 16 16 scala.collection.immutable.Nil$ 4 24 96 scala.collection.immutable.Set$Set2 1 32 32 scala.collection.immutable.Set$Set4 2558122 65700776 (total) ``` Footprint for query index after change: ``` com.netflix.atlas.core.index.QueryIndex@50f6ac94d footprint: COUNT AVG SUM DESCRIPTION 150 50 7584 [C 2 48 96 [I 1006 37 37824 [Lscala.collection.immutable.HashMap; 2274 24 54576 com.netflix.atlas.core.index.QueryIndex 141 24 3384 com.netflix.atlas.core.index.QueryIndex$Entry 270 24 6480 com.netflix.atlas.core.model.Query$And 140 24 3360 com.netflix.atlas.core.model.Query$Equal 5 24 120 com.netflix.atlas.core.model.Query$In 2 16 32 com.netflix.atlas.core.model.Query$Not 5 24 120 com.netflix.atlas.core.model.Query$Or 5 24 120 com.netflix.atlas.core.model.Query$Regex 1 16 16 com.netflix.atlas.core.model.Query$True$ 2 24 48 com.netflix.atlas.core.util.StringMatcher$Regex 2 24 48 com.netflix.atlas.core.util.StringMatcher$Regex$$anon$1 3 24 72 com.netflix.atlas.core.util.StringMatcher$StartsWith 150 24 3600 java.lang.String 2 72 144 java.util.regex.Pattern 2 16 32 java.util.regex.Pattern$Begin 1 32 32 java.util.regex.Pattern$Curly 1 16 16 java.util.regex.Pattern$Dot 1 16 16 java.util.regex.Pattern$LastNode 1 16 16 java.util.regex.Pattern$Node 2 24 48 java.util.regex.Pattern$Slice 1 16 16 scala.None$ 3 16 48 scala.Some 4647 24 111528 scala.Tuple2 153 24 3672 scala.collection.immutable.$colon$colon 4647 32 148704 scala.collection.immutable.HashMap$HashMap1 1006 24 24144 scala.collection.immutable.HashMap$HashTrieMap 1 16 16 scala.collection.immutable.Map$EmptyMap$ 250 24 6000 scala.collection.immutable.Map$Map1 446 32 14272 scala.collection.immutable.Map$Map2 530 40 21200 scala.collection.immutable.Map$Map3 398 48 19104 scala.collection.immutable.Map$Map4 1 16 16 scala.collection.immutable.Nil$ 4 24 96 scala.collection.immutable.Set$Set2 1 32 32 scala.collection.immutable.Set$Set4 16256 466632 (total) ``` 11 June 2016, 21:21:34 UTC
0bc717b intern query objects and strings while parsing The biggest chunk of memory usage for the test query set is coming from the query objects themselves. Sizes: ``` Object Size (bytes) ------------------------------------------- Input queries 71,976 Query index 76,640 Input queries w/ interning 22,896 ``` This is just an example as part of the test. It was needed so we could test larger data sets without getting an OOM exception. It is not being rolled into the query index because it would likely need to be done earlier while processing input queries. The mechanism can be copied from the test case for now if it is needed. If a more generic utility is found to be generally useful going forward, then we'll revisit. 11 June 2016, 20:48:28 UTC
8ee678a add test case showing memory use of query index 11 June 2016, 20:37:53 UTC
6d3ad5e Merge pull request #377 from brharrington/issue-373 fixes #373 - return 400 status code for bad object 10 June 2016, 15:31:16 UTC
a3acd37 Merge pull request #375 from brharrington/deprecated-spectator-sandbox move off deprecated BucketCounter 10 June 2016, 15:15:44 UTC
78f913d fixes #373 - return 400 status code for bad object 10 June 2016, 15:13:53 UTC
34642be move off deprecated BucketCounter 10 June 2016, 13:17:33 UTC
12e9803 Merge pull request #372 from brharrington/v2-json-axis-color always add the axis color 08 June 2016, 04:11:13 UTC
ca52496 always add the axis color For the v2.json format always be explicit about the axis color. Before it was optional, but this makes it easier for dynamic rendering without having to worry about the rules the backend uses to assign the color based on the lines. 08 June 2016, 04:00:18 UTC
a5dceef Merge pull request #371 from brharrington/rm-request-id remove legacy request id class 07 June 2016, 14:58:22 UTC
c75bbaf Merge pull request #370 from brharrington/v2-json-plot-ref lines should explicitly refer to axis 07 June 2016, 14:45:07 UTC
31e5597 Merge pull request #368 from brharrington/jackson-2.7.4 jackson 2.7.4 07 June 2016, 14:42:00 UTC
b7fb16e Merge pull request #369 from brharrington/trusty use trusty build environment 07 June 2016, 14:41:37 UTC
bf15345 remove legacy request id class 07 June 2016, 14:40:33 UTC
0a25825 lines should explicitly refer to axis For the experimental v2.json format this changes the output so that all plot metadata will be emitted first and then the lines will explicitly refer to the axis. Before the metadata for a plot would be emitted followed by all lines on that plot. That would be repeated for each plot. The problem with this is that format becomes cumbersome for a streaming evaluation where we only have data for a single time interval at a time. With this change the same format can be used for the normal evaluation or a streaming evaluation. 07 June 2016, 14:31:03 UTC
2c97fd1 use trusty build environment https://docs.travis-ci.com/user/trusty-ci-environment/ 07 June 2016, 12:49:21 UTC
4aa8a62 aws sdk 1.11.6 07 June 2016, 12:36:19 UTC
7d9ece1 akka 2.4.7 07 June 2016, 12:34:57 UTC
ca028dd jackson 2.7.4 Note, scala Option now behaves more like java 8 Optional. The include setting has been changed from NON_NULL to NON_ABSENT. 07 June 2016, 12:28:39 UTC
c4b6baf Updated Bintray API key 28 May 2016, 01:05:25 UTC
46b6b15 Merge pull request #362 from brharrington/des-stream-eval fix incremental des evaluation 23 May 2016, 18:20:09 UTC
ecaf3d3 fix incremental des evaluation Incremental DES evaluation should match a global evaluation with all data available in advance. The pos was being updated such that values after the first datapoint were getting ignored. There is still a problem with `:sdes`, but for now this change just adds a test to illustrate it. We'll look at fixing `:sdes` later. 23 May 2016, 18:02:07 UTC
7a62618 Merge pull request #361 from brharrington/fix-doc-links docs: fix links to spectator wiki 21 May 2016, 03:33:06 UTC
4ce583a docs: fix links to spectator wiki Spectator docs moved off of github wiki. Fix links that were broken with that change. 20 May 2016, 22:48:21 UTC
68d3ad7 Merge pull request #360 from brharrington/putifabsent add putIfAbsent to RefIntHashMap 20 May 2016, 02:30:21 UTC
d9dd98f add putIfAbsent to RefIntHashMap 20 May 2016, 02:18:11 UTC
654b698 Merge pull request #359 from brharrington/dep-updates update akka and aws deps 19 May 2016, 19:43:25 UTC
a9dcfd6 update akka and aws deps 19 May 2016, 17:36:46 UTC
13f542e Merge pull request #358 from brharrington/file-logging logging config to split out access log 14 May 2016, 16:15:43 UTC
010283f logging config to split out access log Add helper logging configuration that writes the data to files instead of stdout and splits out the access log to separate files. 14 May 2016, 14:28:15 UTC
1958df5 Merge pull request #357 from brharrington/remove-trove-dependency remove dependency on trove4j 09 May 2016, 01:37:54 UTC
38e17ed remove dependency on trove 09 May 2016, 01:20:45 UTC
177f6dc add RefIntHashMap using open addressing 09 May 2016, 01:20:31 UTC
6252a57 fix increment signature for DoubleIntHashMap Fix increment on DoubleIntHashMap to take a Double instead of a Long. Improves test coverage for all the primitive collections. 09 May 2016, 01:20:15 UTC
0ec6b66 add DoubleIntHashMap based on LongIntHashMap 09 May 2016, 01:19:58 UTC
820a50d add IntIntHashMap using open addressing 09 May 2016, 01:19:44 UTC
ecdfec1 fix size of set for dedup The size was always getting incremented, even if the item was already present in the set. Now it will only get incremented if it is new. 09 May 2016, 01:19:27 UTC
7d19648 add IntHashSet util for building index Trying to simplify and reduce the dependencies needed by the core project. This change replaces the trove TIntHashSet with a simple open addressing hash set that does just enough for what we need: dedup and extract the final set. Performance and memory overhead are comparable: For a small set (5 items): ``` com.netflix.atlas.core.util.IntHashSet@33afa13bd footprint: COUNT AVG SUM DESCRIPTION 1 64 64 [I 1 32 32 com.netflix.atlas.core.util.IntHashSet 2 96 (total) java.util.HashSet@3590fc5bd footprint: COUNT AVG SUM DESCRIPTION 1 80 80 [Ljava.util.HashMap$Node; 5 16 80 java.lang.Integer 1 16 16 java.lang.Object 1 48 48 java.util.HashMap 5 32 160 java.util.HashMap$Node 1 16 16 java.util.HashSet 14 400 (total) gnu.trove.set.hash.TIntHashSet@62379589d footprint: COUNT AVG SUM DESCRIPTION 1 40 40 [B 1 112 112 [I 1 56 56 gnu.trove.set.hash.TIntHashSet 3 208 (total) ``` For a larger set with 10k values: ``` com.netflix.atlas.core.util.IntHashSet@33afa13bd footprint: COUNT AVG SUM DESCRIPTION 1 102888 102888 [I 1 32 32 com.netflix.atlas.core.util.IntHashSet 2 102920 (total) java.util.HashSet@3590fc5bd footprint: COUNT AVG SUM DESCRIPTION 1 65552 65552 [Ljava.util.HashMap$Node; 10000 16 160000 java.lang.Integer 1 16 16 java.lang.Object 1 48 48 java.util.HashMap 10000 32 320000 java.util.HashMap$Node 1 16 16 java.util.HashSet 20004 545632 (total) gnu.trove.set.hash.TIntHashSet@4c79ca55d footprint: COUNT AVG SUM DESCRIPTION 1 25736 25736 [B 1 102888 102888 [I 1 56 56 gnu.trove.set.hash.TIntHashSet 3 128680 (total) ``` 09 May 2016, 01:12:38 UTC
b3f547a Merge pull request #355 from brharrington/config-classloader work-around for null context classloader 06 May 2016, 03:52:42 UTC
878d393 work-around for null context classloader In some cases we are seeing: ``` Thread.currentThread().getContextClassLoader() == null ``` With this change we'll log a warning and try the classloader for a given class. 06 May 2016, 03:39:00 UTC
5d6f47b Merge pull request #354 from brharrington/caffeine switch from guava to caffeine for cache 03 May 2016, 16:13:34 UTC
2152d6f remove jsr305 dependency 03 May 2016, 16:04:15 UTC
e0d424f switch from guava to caffeine for cache 03 May 2016, 15:59:09 UTC
ae88a30 Merge pull request #353 from brharrington/extract-queries extract the queries from a stack expression. 30 April 2016, 16:58:13 UTC
86f8f74 Merge pull request #352 from brharrington/spectator-0.38.1 spectator 0.38.1 30 April 2016, 16:44:08 UTC
89406d7 extract the queries from a stack expression. Adds an expr endpoint for extracting the queries [1] from a stack expression. This can be useful for UIs that need to further explore the tag space associated with a graph expression. Output is a list of all distinct queries used. Example, suppose I have a graph of requests and errors: ``` nf.app,www,:eq,name,http.req.complete,:eq,:and,(,statusCode,),:by ``` And I want to expand it to get one graph per zone or node for the application. Send a request: ``` GET /api/v1/expr/queries?q=nf.app,www,:eq,name,http.req.complete,:eq,:and,(,statusCode,),:by ``` The response is: ```json [ "nf.app,www,:eq,name,http.req.complete,:eq,:and" ] ``` This data can then be used with the [tags API](https://github.com/Netflix/atlas/wiki/Tags) to get all of the matching zones, nodes, etc. [1] https://github.com/Netflix/atlas/wiki/Reference-query 30 April 2016, 16:32:12 UTC
f61c449 spectator 0.38.1 Fixes bug with ArrayIndexOutOfBoundsException. 30 April 2016, 16:01:21 UTC
d83f8ba Merge pull request #351 from brharrington/spectator-0.38.0 update spectator, iep, and aws deps 28 April 2016, 12:43:55 UTC
701fe50 update spectator, iep, and aws deps 28 April 2016, 12:31:03 UTC
41d7af3 Merge pull request #350 from brharrington/issue-349 allow sorting expr by stats 28 April 2016, 04:14:51 UTC
0fba71e docs: add section on sorting behavior 28 April 2016, 04:03:52 UTC
a55bf76 allow legend entries to be sorted per axis Adds axis level URL parameters for controlling the sort behavior of legend entries. This will take precendence over local sorting specified for an individual expression. The rationale is that overall sorting is more likely to be a setting toggled by the user via a UI. 28 April 2016, 03:20:03 UTC
dc1e222 add warning instead of failing for invalid sort Changes behavior of an invalid sort mode to add a warning and fallback to the default instead of being an error image. Also adds some additional test cases. 28 April 2016, 02:44:40 UTC
8350f61 allow sorting expr by stats Adds support for sorting an expression by one of the statistics instead of the label text. This change only applies to an expression with multiple results. Example usage: ``` name,sps,:eq,(,nf.cluster,),:by,max,:sort ``` The order can be changed using the `:order` operation: ``` name,sps,:eq,(,nf.cluster,),:by,max,:sort,desc,:order ``` 28 April 2016, 02:07:59 UTC
545e918 Merge pull request #348 from brharrington/travis-scala-version update scala version for travis build 22 April 2016, 12:09:25 UTC
188dc0a update scala version for travis build 21 April 2016, 03:53:04 UTC
bf1d61f Merge pull request #346 from brharrington/docs-percentiles-since docs: add since 1.5 note to :percentile ref 18 April 2016, 21:54:51 UTC
ec4d13d docs: add since 1.5 note to :percentile ref Short-term change to minimize confusion (see #345). Also adds links to javadocs for the spectator classes and updates the wiki link. 18 April 2016, 21:41:07 UTC
4b746c2 Merge pull request #344 from brharrington/spectator-0.37.0 spectator 0.37.0 16 April 2016, 14:48:31 UTC
06a5443 update slf4j and scala-logging 16 April 2016, 14:34:12 UTC
58d61f2 akka 2.4.4 16 April 2016, 14:32:33 UTC
809ba59 spectator 0.37.0 Fixes issue with 0 values being counted as part of the negative_latency bucket and tagging of serviceName on AWS metric collector. 16 April 2016, 14:27:06 UTC
2e5b369 Merge pull request #343 from brharrington/docs-search-index docs: create search index for wiki 15 April 2016, 04:27:55 UTC
7063a45 docs: create search index for wiki Generate search index json file for the wiki that can be consumed easily with lunr. Format is similar to index created by mkdocs, e.g.: https://netflix.github.io/spectator/en/latest/mkdocs/search_index.json 15 April 2016, 04:12:42 UTC
6a33487 docs: update armytage paper link * Update armytage paper link, previous link gives 404 * Add link from multi-y palette section to page on color palettes 05 April 2016, 20:01:26 UTC
5a2196d Merge pull request #341 from brharrington/wiki-conf limit endpoints for wiki script 03 April 2016, 17:22:24 UTC
93375ff limit endpoints for wiki script Limit the endpoints used on the wiki script to just the tags and graph endpoints that are needed. 03 April 2016, 17:13:51 UTC
5fae7b7 Merge pull request #340 from brharrington/equals dsType was ignored by equals on ArrayTimeSeq 03 April 2016, 17:04:53 UTC
9ef1076 dsType was ignored by equals on ArrayTimeSeq 03 April 2016, 16:54:50 UTC
c112786 Merge pull request #339 from brharrington/dep-refresh akka 2.4.3, aws sdk 1.10.66 03 April 2016, 16:38:06 UTC
b18fc35 akka 2.4.3, aws sdk 1.10.66 03 April 2016, 16:08:53 UTC
3285854 Merge pull request #338 from brharrington/label-order-palette sort by label before selecting colors from palette 03 April 2016, 16:04:22 UTC
044a117 sort by label before selecting colors from palette 03 April 2016, 15:55:09 UTC
5f7ab2c Merge pull request #337 from brharrington/filter-after-style add override to allow filter after legend 03 April 2016, 15:50:30 UTC
5a2bafc add override to allow filter after legend For some tooling it is often convenient to be able to append a filter after a legend or other presentation settings have been applied to an expression with a group by. 03 April 2016, 14:58:49 UTC
727bcd3 Merge pull request #336 from tregoning/master Updating Atlas logo 31 March 2016, 21:30:30 UTC
625a707 updating Atlas logo 31 March 2016, 21:06:49 UTC
cc30c3f Merge pull request #335 from brharrington/docs-tick-labels docs: add information about tick labels 29 March 2016, 15:48:57 UTC
9f4a676 docs: add tick labels link to sidebar 29 March 2016, 15:36:53 UTC
948edb3 docs: s/follow/following/ 29 March 2016, 15:22:27 UTC
46abb92 docs: add information about tick labels 29 March 2016, 15:20:43 UTC
729a878 Merge pull request #334 from brharrington/skipped-axis use same axis id for expr and params 22 March 2016, 23:28:50 UTC
cad6db1 Merge pull request #333 from brharrington/nf.account add account to default reserved key set 22 March 2016, 23:09:16 UTC
back to top