forked from agoragames/kairos
-
Notifications
You must be signed in to change notification settings - Fork 0
/
CHANGELOG
264 lines (162 loc) · 5.85 KB
/
CHANGELOG
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
0.9.2
=====
Implemented support for creating a Timeseries using a URL
https://github.com/agoragames/kairos/pull/45
0.9.1
=====
Fixed calculation of relative TTLs
https://github.com/agoragames/kairos/pull/44
0.9.0
=====
Replace print statements with warnings for unsupported backends from @akabos
https://github.com/agoragames/kairos/pull/40
Added `Timeseries.bulk_insert` with optimized Redis and Mongo implementations
https://github.com/agoragames/kairos/pull/41
Fixed relative TTLs for Redis and Cassandra, fixng #14
https://github.com/agoragames/kairos/pull/42
0.8.1
=====
Implemented gevent-compatible Cassandra connection pooling.
Changed the API for Cassandra custom fetch functions.
Any value inserted into a timeseries of ascii, text, blob type will be
auto-quoted with single quote.
Fixed mongo escaping of values with periods by replacing with "U+FFFF"
unicode character.
0.8.0
=====
Added support for Cassandra storage.
Added limits when querying properties of a SQL stat.
Changed behavior of sets to include storage of all datapoints, positive
or negative.
Added table name option to SQL stores.
0.7.1
=====
Added configuration options for columns in SQL stores.
Added `Timeseries.delete_all()` to delete all stats in a timeseries.
0.7.0
=====
Added `Timeseries.list()` to get all of the stat names in a store.
Added `Timeseries.properties()` to get some stats about a stat.
Added `Timeseries.iterate()` to iterate over all the data in a stat.
Added `Timeseries.expire()` to manually expire SQL data.
Changed data type to integer for gregorian time stamps. This will possibly
require updates for any gregorian data already stored in mongo.
Tests can be skipped using environment variables.
SQL tests can target different host and driver types through SQL_HOST
environment variable.
SQL string columns (VARCHAR) have a fixed length of 255.
0.6.3
=====
Alpha support for SQL storage.
0.6.2
=====
Fix reference to interval when using a custom fetch function in mongo.
0.6.1
=====
Fix cases where keyword arguments are defined with "None".
Fix case where series() is called with with steps=0.
0.6.0
=====
New API to fully support customized data reading.
0.5.0
=====
Provide callers with the ability to customize the fetching of data from a timeseries.
0.4.3
=====
pin monthdelta requirement, pull request #22 from titusz
https://github.com/agoragames/kairos/pull/22
0.4.2
=====
Fixed insert on count timeseries not supporting the intervals keyword argument.
0.4.1
=====
Adding support for inserting data into multiple intervals with a single
call to `insert()`.
Added support for set types when using redis storage.
0.4.0
=====
Added `collapse` keyword argument to `series()` for collapsing an entire
timeseries into a single row. Transforms are performed after the collapse,
allowing easy calculation of aggregates across an entire timeseries.
Fix inconsistency in gauge type when collapsing or condensing gauge data.
Value for an interval is the last recorded non-null gauge value now.
Added support in `get()` and `series()` for joining multiple timeseries
into a single result by calling with a list of timeseries names rather
than a single string.
0.3.0
=====
Implemented support for Gregorian data intervals `[daily, weekly, monthly, yearly]`
New API for `Timeseries.series()`, with optional arguments `start` and `end`
replacing the old argument `timestamp`. See README for documentation.
0.2.2
=====
Fixed bug in fetching mongo series, which was missing the stat name in the
query.
0.2.1
=====
Added ability to pass in a list of transforms, to support multiple calculations
per row of the data set.
0.2.0
=====
Implemented support for storing data in mongo.
Transforms on histograms will be called with a dictionary object, not a list,
to reduce the time and memory footprint required to run calculations on the
data.
0.1.5
=====
Fixed bug in turning relative interval definitions into integers for
calculations in get() and series().
0.1.4
=====
Added a gauge type
0.1.3
=====
Fixed increment by integer on a Count series.
Turn off transactions in Redis pipelines.
0.1.2
=====
Added simple transforms on all timeseries and ability to apply any function
to a row of data when calling `get` and `series`.
0.1.1
=====
Added ability to specify 'step' and 'resolution' in terms of hours, days,
weeks, months and year.
0.1.0
=====
Beta of kairos for redis, significantly refactors the API. All types of
timeseries are created with the Timeseries constructor. The arguments to
the constructor have been changed to simplify and clarify their usage. In
particular, a single timeseries implements only a single type (e.g. Histogram)
read and write functions are shared by all intervals in a timeseries, and the
count_only support is now the timeseries type `count`. See README for details.
Added exceptions. Only exception currently implemented is UnknownInterval.
0.0.7
=====
If tracking only counts and resolution=interval, handle an interval without data
0.0.6
=====
Added optional compression on a series which will count unique hits on a
value within an interval. Exact time resolution is traded in favor of
a (possible) significant reduction in storage requirements. The resolution
of the compression is up to the user in how they cast the data on insert.
0.0.5
=====
Added optional prefix for time series keys
0.0.4
=====
Fix problems with Timeseries.series() when count_only or step==resolution
0.0.3
=====
Fix packaging
0.0.2
=====
Added Timeseries.series() for fetching multiple steps at a time
Added Timeseries.count() for fetching the number of values in an interval
Use redis pipelines where possible
Added ability to track only counts rather than raw values
Added concept of resolution within an interval
Switch to OrderedDict for all results
0.0.1
=====
Initial release, supports simple time series of step in seconds,
max number of steps, casting of results