- Oct 22, 2018
-
-
yunshi authored
The error detail looks like: { 'cause': 'Invalid input', 'reason': 'boulet', 'detail': ['field'], } Note: Voluptuous prints `r` before data path for str(voluptuous.Invalid) in Python2. To simplify tests in Python2 and Python3, the error reasons are checked by regex.
-
- Jul 30, 2018
-
-
Mehdi Abaakouk authored
This enables gnocchi-amqp daemon. Which listens to metrics from collectd amqp1 write plugin.
-
- Jun 21, 2018
-
-
gordon chung authored
support ability to groupby year, half, quarter, month, and week.
-
- Jun 04, 2018
-
-
Mehdi Abaakouk authored
Some filesystem have a limit in term of number of directory a directory can have. Also in performance point of view, some filesystem are slower when too much directories are created in one directory. To improve the situation is such case, this change adds an option to create subdirectories for storing metrics. for example file_subdir_len=16 will create: de3a72c4505543b4be/d1f9bb1395b52a/de3a72c4-5055-43b4-bed1-f9bb1395c52a
-
- Apr 23, 2018
-
-
Julien Danjou authored
This allows to inject measures and maybe process them in a single tool. This is useful to generate load to test metricd and also profile the processing code.
-
- Apr 10, 2018
-
-
Julien Danjou authored
See https://github.com/Pylons/webob/issues/355
-
- Feb 28, 2018
-
-
Mehdi Abaakouk authored
The filter= argument is missing from the aggregation API. This change adds it.
-
- Jan 30, 2018
-
-
Mehdi Abaakouk authored
This change allow to pass the archive policy/unit when we batch measures for metrics.
-
- Jan 15, 2018
-
-
Mehdi Abaakouk authored
This change adds rateofchange method to Dynamic Aggregate API.
-
- Jan 04, 2018
-
-
Julien Danjou authored
The current truncation code in AggregatedTimeSerie truncate on object initialize only. That means that split up to POINTS_PER_SPLIT points are stored, and that data is read and _truncated_ at this point. When new points are added (existing merge), it's possible that the number of points grows more than the number of points defined by the archive policy, storing too many points. That's hidden because when re-read, the AggregatedTimeSerie is truncated again. However, that makes the storage driver store too much data. This patches remove the max_size attribute from carbonara.AggregatedTimeSerie and simply expose a truncate() method that can be used to truncate each split based on the oldest point that is defined by the archive policy.
-
- Dec 21, 2017
-
-
Mehdi Abaakouk authored
This change adds a new type of attribute for resource: datetime.
-
- Dec 06, 2017
-
-
Julien Danjou authored
This allows to disable eager processing of new measures. Fixes #507
-
- Dec 05, 2017
-
-
Mehdi Abaakouk authored
-
- Dec 01, 2017
-
-
Julien Danjou authored
This provides a new InfluxDB-compatible endpoint to write data to Gnocchi at `/v1/influxdb'.
-
- Nov 21, 2017
-
-
Mehdi Abaakouk authored
-
- Nov 16, 2017
-
-
Mehdi Abaakouk authored
This design have some issue when two timeseries have the same names, only the last one is dumped. Or if the same metric is asked twice for whatever reason, measures have all timestamps duplicated. This change the result to a new format: For resources: { "measures": { resource_id: {metric_name: {aggregation: MEASURES}}}, "references": [RESOURCES_DETAILS] } For metrics { "measures": {metric_id: {aggregation: MEASURES}}, "references": [METRICS_DETAILS] } When the result is aggregtated we got: For resources: { "measures": { "aggregated": MEASURES}, "references": [RESOURCES_DETAILS] } For metrics { "measures": { "aggregated": MEASURES}, "references": [METRICS_DETAILS] } Closes-bug: #477
-
- Nov 06, 2017
-
-
Julien Danjou authored
-
- Oct 26, 2017
-
-
Mehdi Abaakouk authored
dropna is like null but nan values are not returned. This is the default for /v1/aggregates API.
-
- Oct 24, 2017
-
-
Mehdi Abaakouk authored
This change allows to search for metrics with the same format as resource search and cross metric aggregation. And then it applies operations. It also re-add transformation tests related to cross metric aggregation endpoint but with new aggregates API. Related #419
-
- Oct 20, 2017
-
-
Mehdi Abaakouk authored
This changes implements the following operations for the aggregates API: - rolling <agg> <window> - resample <agg> <granularity> - math (*/+-%...) - abosolute/negative It also re-add transformation tests related to metrics endpoint but with new aggregates API. Related #419
-
- Oct 18, 2017
-
-
Julien Danjou authored
The option storage.aggregation_workers_number is not only used by storage, but also by API cross aggregation. Make it generic and move the map_in_thread method in a generic parallel_map function in gnocchi.utils.
-
- Oct 13, 2017
-
-
Julien Danjou authored
This reverts commit 41117a83. This feature will be implemented as part of https://github.com/gnocchixyz/gnocchi/pull/419
-
- Oct 12, 2017
-
-
Mehdi Abaakouk authored
The code is obsoleted by the future aggregates API Related #419
-
- Sep 25, 2017
-
-
Olivier Destras authored
Closes #374
-
- Sep 22, 2017
-
-
gord chung authored
this implements rolling aggregates which works similar to how pandas rolling works but more trivial. this differs from deprecated moving_average by correctly matching points to trailing timestamp rather than leading timestamp. it does not return the NaN values that result in shift in values. Closes: #186
-
Mehdi Abaakouk authored
-
Mehdi Abaakouk authored
This change implements pagination links according the RFC5988. It only implements the 'next' link, since other need extra mysql query that we don't really want for now. Related #3
-
- Aug 29, 2017
-
-
Mehdi Abaakouk authored
This change adds an API to transform retrieved measurements. First method implemented are absolute and negative. This API aims to do some transformations that are not aggregation related. This also fixes the data type passed to aggregated(), to ensure it's a list and not an iterator.
-
- Jul 28, 2017
-
-
gord chung authored
if no boundary is set, the returned series does not necessarily honour the overlap value. change behaviour so we require a boundary if overlap is not 100%. Fixes: #17
-
- Jul 21, 2017
-
-
Mehdi Abaakouk authored
This change allows to compute the rate of change before applying the aggregation method. To do so, aggregation method need to be prefixed by "rate:"
-
- Jul 05, 2017
-
-
Julien Danjou authored
As the wise Mehdi once said: "nobody reads documentation". Everybody wants to run a daemon for the API server and everybody wants to run `gnocchi-api'. Then let's provide it as a wrapper around uwsgi, so it's a fast and performant HTTP by default.
-
- Jul 02, 2017
-
-
gord chung authored
deprecating moving average because the existing rolling average for some reason generates a left-aligned rolling average which is opposite of standard rolling average which should lag. also, none of the existing parameters are configurable or are valid (min_size is definitely wrong). will improve this by leveraging pandas rolling TEMP FIX: don't unnecessarily pull in all granularities, search through all series for min granularity, and rebuild. just detect if valid, pull in granularity that's valid, and continue.
-
- Jul 01, 2017
-
-
Julien Danjou authored
Sem-Ver: api-break
-
- Jun 29, 2017
-
-
gord chung authored
support ability to get multiple metrics based on id. returns result with format matching: {'metric_id1': [[timestamp, granularity, value]...], 'metric_id2': [[timestamp, granularity, value]...]} Fixes: #87
-
- Jun 12, 2017
-
-
Julien Danjou authored
-
- Jun 08, 2017
-
-
Mehdi Abaakouk authored
Authentication can be delegated to a frontend webserver/middleware, that will ensure that REMOTE_USER env is set. Change-Id: I8ebda5fccb0804d3349b84cefbb8353226436c19
-
- May 30, 2017
-
-
Julien Danjou authored
It feels weird to have different option name for the same thing.
-
- May 19, 2017
-
-
Mehdi Abaakouk authored
We don't need to provide the app.wsgi script anymore. pbr provides it within the gnocchi-api binary Change-Id: I6e16607128849a18b9e6eb1bc5558d1c9df64775
-
gord chung authored
Change-Id: I0c0f190f556b36579a3afea63dc79fa7b1a9f443
-
- May 18, 2017
-
-
Julien Danjou authored
This was a work around for old buggy Python 2.7 versions. Everybody will have to upgrade! Change-Id: Id105e2e8c1fab7af49c11b323db64886e57eade6
-