Pre-release

@FlorianLautenschlager FlorianLautenschlager released this Mar 13, 2017 · 57 commits to master since this release

Assets 3

Features and Fixes

The release includes the following fixes and features:

  • #121 Migrated the plug-in concept introduced in the research paper
  • #123 Upgrade to latest Apache Solr version

@FlorianLautenschlager FlorianLautenschlager released this Nov 15, 2016 · 80 commits to master since this release

Assets 3

Features and Fixes

The release includes the following fixes and features:

  • #43 Documentation
  • #49 Small chunk compaction
  • #57 Chronix simple ingestion interface
  • #76 Bug when using field in join key that is not part of the requested fields
  • #82 Fixed Moving Average implementation (based on time-window)
  • #92 Moving Average based on a fixed size of samples
  • #102 Bug when joining fields
  • #109 Bug when using functions and join within a query
  • #116 Upgraded to Solr 6.3.0

@FlorianLautenschlager FlorianLautenschlager released this Jul 12, 2016 · 260 commits to master since this release

Assets 3

Features and Fixes

The release includes the following fixes and features:

  • #61 Timeshift transformation
  • #62 CORS is now enabled by default (for use with grafana)
  • #63 Upgrade to Solr 6.1
  • #67 Server-side compression (gzip) is now available (accept-encoding: gzip)
  • #68 Points are now sorted when requested as json (Bug Fix)

And all features of the prior versions. ;-)

@FlorianLautenschlager FlorianLautenschlager released this Jun 3, 2016 · 286 commits to master since this release

Assets 3

Features and Fixes

The release includes the following fixes and features:

  • #53 The chronix-respsonse-writer plugin is removed (see #35)
  • #39 Add / Subtract transformation
  • #35 Data as json even for transformations and range queries (fl=dataAsJson)
  • #34 Functions are only executed once (max,max => max)
  • #32 Empty arguments for functions and aggregations are not returned anymore
  • #26 Vectorization Transformation
  • #24 Bug in percentile aggregation
  • Upgraded to Solr 6.0.1

And all features of the prior versions.

@FlorianLautenschlager FlorianLautenschlager released this May 3, 2016 · 375 commits to master since this release

Assets 3

Features and Fixes

The release includes the following fixes and features:

  • #24 Bug in percentile aggregation
  • #22 Option to request data field
  • #21 Range aggregation
  • #20 Last aggregation
  • #19 First aggregation
  • #18 Count aggregation
  • #17 Sum aggregation
  • #16 Singed difference aggregation
  • #15 Difference aggregation
  • #10 Upgraded to Solr 6.0
  • #9 Analyze multiple analyses in one request

@FlorianLautenschlager FlorianLautenschlager released this Mar 7, 2016 · 419 commits to master since this release

Assets 3

Features and Fixes

  • The release includes the following fixes:
    • #4 Fixed a bug in the chronix client
    • #6 Date (fields for start / end) parsing in sub queries
    • #7 Merging attributes of an analysis results
    • #8 Fixed a problem with FastDTW when two or more timestamps have the same value

Features

  • Kassiopeia 1.7 (performance improvements)
  • Some refactoring and performance optimizations

@FlorianLautenschlager FlorianLautenschlager released this Feb 26, 2016 · 445 commits to master since this release

Assets 3

Solr 5.5.0 and FastDTW

This release contains the following changes / improvements:

Main Features

  • Upgraded Solr to Version 5.5.0
  • Changed syntax of Chronix functions
    • ag = still used for aggregations
    • analysis = still used for analyses
    • arguments are now split on "," ( ":" former)
    • aggregation / functions and arguments are divided with ":"
    • [ag|analysis]=([min,max,avg,p,dev]|[trend,outlier,frequency,fastdtw]):(arg,)*
  • Kassiopeia Simple 0.1.1 to 0.1.4
    • Date-Delta-Compaction now detects a drift
    • Internal API changes to avoid unnecessary object transformations
  • New Analysis: FastDTW to find similar time series
    • Uses Dynamic time warping to find time series that are similar with other time series
    • Example Query: q=metric:*Load*min&fq=analysis=fastdtw(metric:*Load*),5,0.8
  • Performance Improvements
    • Fewer object creations
    • Faster query and analysis times

@FlorianLautenschlager FlorianLautenschlager released this Jan 9, 2016 · 498 commits to master since this release

Assets 3

Solr 5.4.0 and Protocol Buffers Serialization

This release contains the following changes:

  • Solr 5.3.1 upgraded to Solr 5.4.0
  • Kassiopeia Simple 0.1 to 0.1.1
    • Serialization format change (Old: Json, New: Protocol Buffers)
      • dataAsJson still work ;-)
    • Requires fewer hard disk space.
    • Fewer object creations due to lists for primitive data types (long, double)

@FlorianLautenschlager FlorianLautenschlager released this Dec 12, 2015 · 508 commits to master since this release

Assets 3

Performance Improvements

The third release of Chronix with new features and performance improvements.

Main Features:

  • A user can now query raw (uncompressed) time series from Chronix as Json.

Usage:

q=*:*&fl=dataAsJson:[dataAsJson]
  • Updated Chronix to Kassiopeia 0.1
    • Performance improvements on analysis queries.
  • Version upgrade. No longer "mini version numbers"

@FlorianLautenschlager FlorianLautenschlager released this Dec 7, 2015 · 524 commits to master since this release

Assets 3

API Changes

The second Chronix release that is based on Apache Solr 5.3.1.

Main Features:

  • Implemented API changes of Chronix API version 0.0.2
//----------------------------------------------------------------------------------------------------
//before: Streaming and grouping a time series
//----------------------------------------------------------------------------------------------------
chronix = new ChronixClient<>(new KassiopeiaSimpleConverter(), new ChronixSolrStorage<>());

List<MetricTimeSeries> result = chronix.stream(solrConnection, query, start, end, 200)
         .collect(groupingBy(MainController.this::join)).entrySet()
          .stream().map(stringListEntry -> stringListEntry.getValue()
                    .stream()
                    .reduce((ts1, ts2) -> {
                         ts1.addAll(ts2.getPoints());
                         return ts1;
                      }).get()).collect(Collectors.toList());

//-----------------------------------------------------------------------------------------------------
//now: Streaming and grouping a time series
//----------------------------------------------------------------------------------------------------
 Function<MetricTimeSeries, String> groupBy = MainController.this::join;

 BinaryOperator<MetricTimeSeries> reduce = (ts1, ts2) -> {
        ts1.addAll(ts2.getPoints());
        return ts1;
};
chronix = new ChronixClient<>(new KassiopeiaSimpleConverter(),
                     new ChronixSolrStorage<>(200, groupBy, reduce));

//The streaming call is much simpler
List<MetricTimeSeries> result = chronix.stream(solrConnection, query).collect(Collectors.toList());
  • Integration Test uses real time series.
    • Data is shipped within the binary release.

see README.md for more information