)]}'
{"doc/source/rest.rst":[{"author":{"_account_id":7478,"name":"Nadya Shakhat","email":"nadmi4@gmail.com","username":"nprivalova"},"change_message_id":"cfba064d138e722ff79b32b176e305cbee07a219","unresolved":false,"context_lines":[{"line_number":215,"context_line":"aggregated. That means that Gnocchi does not store all sent measures, but"},{"line_number":216,"context_line":"aggregates them over a certain period of time. Gnocchi provides several"},{"line_number":217,"context_line":"aggregation method (mean, min, max, sum…) that are builtin."},{"line_number":218,"context_line":""},{"line_number":219,"context_line":"An archive policy is a defined by a list of item in the `definition` field. Each"},{"line_number":220,"context_line":"item is composed of the timespan and the level of precision that must be kept"},{"line_number":221,"context_line":"when aggregating data. For example, an item might be defined of 12 points over"}],"source_content_type":"text/x-rst","patch_set":2,"id":"5a890539_6470ba40","line":218,"updated":"2014-11-24 21:44:49.000000000","message":"policy is a defined by a list of item \u003d\u003e policy is defined by a list of itemS","commit_id":"5747b52f2e8800739baef1aef57fec61cbb43b47"},{"author":{"_account_id":1669,"name":"Julien Danjou","display_name":"jd","email":"julien@danjou.info","username":"jdanjou"},"change_message_id":"519c23d3ec2a7da2e408e6d25a2d36b6edfa0642","unresolved":false,"context_lines":[{"line_number":215,"context_line":"aggregated. That means that Gnocchi does not store all sent measures, but"},{"line_number":216,"context_line":"aggregates them over a certain period of time. Gnocchi provides several"},{"line_number":217,"context_line":"aggregation method (mean, min, max, sum…) that are builtin."},{"line_number":218,"context_line":""},{"line_number":219,"context_line":"An archive policy is a defined by a list of item in the `definition` field. Each"},{"line_number":220,"context_line":"item is composed of the timespan and the level of precision that must be kept"},{"line_number":221,"context_line":"when aggregating data. For example, an item might be defined of 12 points over"}],"source_content_type":"text/x-rst","patch_set":2,"id":"5a890539_e6a9f690","line":218,"in_reply_to":"5a890539_6470ba40","updated":"2014-11-25 14:04:14.000000000","message":"Done","commit_id":"5747b52f2e8800739baef1aef57fec61cbb43b47"},{"author":{"_account_id":7478,"name":"Nadya Shakhat","email":"nadmi4@gmail.com","username":"nprivalova"},"change_message_id":"cfba064d138e722ff79b32b176e305cbee07a219","unresolved":false,"context_lines":[{"line_number":230,"context_line":"older than the last timestamp sent."},{"line_number":231,"context_line":""},{"line_number":232,"context_line":"For example, if an archive policy is defined with a larger aggregation of 1"},{"line_number":233,"context_line":"hour, and the last point sent has a timestamp of 14:34, it\u0027s possible to send"},{"line_number":234,"context_line":"measures back to to 14:00 with a `back_window` of 0. If the `back_window` is set"},{"line_number":235,"context_line":"to 2, it will be possible to send measures with timestamp back to 12:00."},{"line_number":236,"context_line":""}],"source_content_type":"text/x-rst","patch_set":2,"id":"5a890539_64befaaf","line":233,"updated":"2014-11-24 21:44:49.000000000","message":"doubled \"to\"","commit_id":"5747b52f2e8800739baef1aef57fec61cbb43b47"},{"author":{"_account_id":1669,"name":"Julien Danjou","display_name":"jd","email":"julien@danjou.info","username":"jdanjou"},"change_message_id":"519c23d3ec2a7da2e408e6d25a2d36b6edfa0642","unresolved":false,"context_lines":[{"line_number":230,"context_line":"older than the last timestamp sent."},{"line_number":231,"context_line":""},{"line_number":232,"context_line":"For example, if an archive policy is defined with a larger aggregation of 1"},{"line_number":233,"context_line":"hour, and the last point sent has a timestamp of 14:34, it\u0027s possible to send"},{"line_number":234,"context_line":"measures back to to 14:00 with a `back_window` of 0. If the `back_window` is set"},{"line_number":235,"context_line":"to 2, it will be possible to send measures with timestamp back to 12:00."},{"line_number":236,"context_line":""}],"source_content_type":"text/x-rst","patch_set":2,"id":"5a890539_4692ca57","line":233,"in_reply_to":"5a890539_64befaaf","updated":"2014-11-25 14:04:14.000000000","message":"Done","commit_id":"5747b52f2e8800739baef1aef57fec61cbb43b47"},{"author":{"_account_id":7478,"name":"Nadya Shakhat","email":"nadmi4@gmail.com","username":"nprivalova"},"change_message_id":"cfba064d138e722ff79b32b176e305cbee07a219","unresolved":false,"context_lines":[{"line_number":233,"context_line":"hour, and the last point sent has a timestamp of 14:34, it\u0027s possible to send"},{"line_number":234,"context_line":"measures back to to 14:00 with a `back_window` of 0. If the `back_window` is set"},{"line_number":235,"context_line":"to 2, it will be possible to send measures with timestamp back to 12:00."},{"line_number":236,"context_line":""},{"line_number":237,"context_line":"The REST API allows to create archive policies this way:"},{"line_number":238,"context_line":""},{"line_number":239,"context_line":"::"}],"source_content_type":"text/x-rst","patch_set":2,"id":"5a890539_78613e38","line":236,"updated":"2014-11-24 21:44:49.000000000","message":"TBH, it\u0027s quite hard to understand the description (at least for me). I have at least two questions:\n\n1. About \"back_window\". AFAIU, this feature is needed for \"slow\" measures. It would be better to provide a real-life examples like \"When the load is high measures (samples) may stay in queue longer and arrive after aggregation is done\" (Please correct me if I understood something wrong). And by the way, is this really the case? This param seems very fine-tuning to me... Do we really want to ask users to deal with it?\n\n2. In general. \u0027granularity\u0027 and \u0027points\u0027 seems to have very similar meanings. It would be great to explicitly describe the meanings of these fields with \"required\" or \"not required\" notes. It would be much better to understand","commit_id":"5747b52f2e8800739baef1aef57fec61cbb43b47"},{"author":{"_account_id":1669,"name":"Julien Danjou","display_name":"jd","email":"julien@danjou.info","username":"jdanjou"},"change_message_id":"519c23d3ec2a7da2e408e6d25a2d36b6edfa0642","unresolved":false,"context_lines":[{"line_number":233,"context_line":"hour, and the last point sent has a timestamp of 14:34, it\u0027s possible to send"},{"line_number":234,"context_line":"measures back to to 14:00 with a `back_window` of 0. If the `back_window` is set"},{"line_number":235,"context_line":"to 2, it will be possible to send measures with timestamp back to 12:00."},{"line_number":236,"context_line":""},{"line_number":237,"context_line":"The REST API allows to create archive policies this way:"},{"line_number":238,"context_line":""},{"line_number":239,"context_line":"::"}],"source_content_type":"text/x-rst","patch_set":2,"id":"5a890539_e6973638","line":236,"in_reply_to":"5a890539_78613e38","updated":"2014-11-25 14:04:14.000000000","message":"TBH, it was hard to write it too :) I did my best :)\n\n1. There\u0027s no notion of queue in Gnocchi itself, that\u0027s a construction \"issue\" of Ceilometer, so I don\u0027t think talking about queue in Gnocchi itself will make things more clear. Yes I think the users (operators in this case) need to deal with this as it\u0027s their choice to allow more or less back window (it consumes more space).\n\n2. Yep, maybe we should explain more somewhere. Not directly tied to that patch so I\u0027ll build a new one.","commit_id":"5747b52f2e8800739baef1aef57fec61cbb43b47"},{"author":{"_account_id":7478,"name":"Nadya Shakhat","email":"nadmi4@gmail.com","username":"nprivalova"},"change_message_id":"051b9235be0c8acf5ec25b3fb17ce8b6d6f1970a","unresolved":false,"context_lines":[{"line_number":215,"context_line":"aggregated. That means that Gnocchi does not store all sent measures, but"},{"line_number":216,"context_line":"aggregates them over a certain period of time. Gnocchi provides several"},{"line_number":217,"context_line":"aggregation method (mean, min, max, sum…) that are builtin."},{"line_number":218,"context_line":""},{"line_number":219,"context_line":"An archive policy is a defined by a list of items in the `definition` field."},{"line_number":220,"context_line":"Each item is composed of the timespan and the level of precision that must be"},{"line_number":221,"context_line":"kept when aggregating data. For example, an item might be defined of 12 points"}],"source_content_type":"text/x-rst","patch_set":3,"id":"5a890539_5368a5f4","line":218,"updated":"2014-11-26 13:11:14.000000000","message":"a defined by \u003d\u003e defined by","commit_id":"6feafdbfe5a4b4823d910c4fc5247b80d4c89855"},{"author":{"_account_id":1669,"name":"Julien Danjou","display_name":"jd","email":"julien@danjou.info","username":"jdanjou"},"change_message_id":"b76a94179901bf3b7fb49685e6b5523131786e25","unresolved":false,"context_lines":[{"line_number":215,"context_line":"aggregated. That means that Gnocchi does not store all sent measures, but"},{"line_number":216,"context_line":"aggregates them over a certain period of time. Gnocchi provides several"},{"line_number":217,"context_line":"aggregation method (mean, min, max, sum…) that are builtin."},{"line_number":218,"context_line":""},{"line_number":219,"context_line":"An archive policy is a defined by a list of items in the `definition` field."},{"line_number":220,"context_line":"Each item is composed of the timespan and the level of precision that must be"},{"line_number":221,"context_line":"kept when aggregating data. For example, an item might be defined of 12 points"}],"source_content_type":"text/x-rst","patch_set":3,"id":"5a890539_69420e69","line":218,"in_reply_to":"5a890539_5368a5f4","updated":"2014-11-26 13:57:12.000000000","message":"Done","commit_id":"6feafdbfe5a4b4823d910c4fc5247b80d4c89855"},{"author":{"_account_id":7478,"name":"Nadya Shakhat","email":"nadmi4@gmail.com","username":"nprivalova"},"change_message_id":"051b9235be0c8acf5ec25b3fb17ce8b6d6f1970a","unresolved":false,"context_lines":[{"line_number":217,"context_line":"aggregation method (mean, min, max, sum…) that are builtin."},{"line_number":218,"context_line":""},{"line_number":219,"context_line":"An archive policy is a defined by a list of items in the `definition` field."},{"line_number":220,"context_line":"Each item is composed of the timespan and the level of precision that must be"},{"line_number":221,"context_line":"kept when aggregating data. For example, an item might be defined of 12 points"},{"line_number":222,"context_line":"over an hour (one point every 5 minutes), or a points every 1 hours over 1 day"},{"line_number":223,"context_line":"(24 points). An archive policy is defined by a name and a definition composed of"}],"source_content_type":"text/x-rst","patch_set":3,"id":"5a890539_73104159","line":220,"updated":"2014-11-26 13:11:14.000000000","message":"Before an example may be smth like: \"The level of precision may be determined using \u0027points\u0027 and \u0027granularity\u0027 fields.\"\n\nThe last sentence doubles the first one. I think it may be deleted","commit_id":"6feafdbfe5a4b4823d910c4fc5247b80d4c89855"},{"author":{"_account_id":1669,"name":"Julien Danjou","display_name":"jd","email":"julien@danjou.info","username":"jdanjou"},"change_message_id":"b76a94179901bf3b7fb49685e6b5523131786e25","unresolved":false,"context_lines":[{"line_number":217,"context_line":"aggregation method (mean, min, max, sum…) that are builtin."},{"line_number":218,"context_line":""},{"line_number":219,"context_line":"An archive policy is a defined by a list of items in the `definition` field."},{"line_number":220,"context_line":"Each item is composed of the timespan and the level of precision that must be"},{"line_number":221,"context_line":"kept when aggregating data. For example, an item might be defined of 12 points"},{"line_number":222,"context_line":"over an hour (one point every 5 minutes), or a points every 1 hours over 1 day"},{"line_number":223,"context_line":"(24 points). An archive policy is defined by a name and a definition composed of"}],"source_content_type":"text/x-rst","patch_set":3,"id":"5a890539_291ac67c","line":220,"in_reply_to":"5a890539_73104159","updated":"2014-11-26 13:57:12.000000000","message":"Done","commit_id":"6feafdbfe5a4b4823d910c4fc5247b80d4c89855"},{"author":{"_account_id":7478,"name":"Nadya Shakhat","email":"nadmi4@gmail.com","username":"nprivalova"},"change_message_id":"051b9235be0c8acf5ec25b3fb17ce8b6d6f1970a","unresolved":false,"context_lines":[{"line_number":222,"context_line":"over an hour (one point every 5 minutes), or a points every 1 hours over 1 day"},{"line_number":223,"context_line":"(24 points). An archive policy is defined by a name and a definition composed of"},{"line_number":224,"context_line":"a list of at least one of the previously described item."},{"line_number":225,"context_line":""},{"line_number":226,"context_line":"By default, new measures can only be sent with timestamp in the future or part"},{"line_number":227,"context_line":"of the last aggregation period. This window size is based on the largest"},{"line_number":228,"context_line":"granularity defined in the archive window. The `back_window` field can be used"}],"source_content_type":"text/x-rst","patch_set":3,"id":"5a890539_c692119e","line":225,"updated":"2014-11-26 13:11:14.000000000","message":"\"new measures can only be sent ... \" is better to change \"new measures can only be processed if they have timestamp in the future or from the last aggregation period\". \n\n\"This window size is based on the largest granularity defined in the archive window\" \u003d\u003e \" Such a \"window size\" is based on the largest granularity defined in the archive policy description\"\n\n\nThe `back_window` field can be used to set the number of period to keep so it is possible to send measure that are older than the last timestamp sent. \u003d\u003e\nTo enlarge this \"window size\" `back_window` field can be used to set the number of period to keep so it is possible to process (or keep into account) measures that are older than the last timestamp sent.","commit_id":"6feafdbfe5a4b4823d910c4fc5247b80d4c89855"},{"author":{"_account_id":1669,"name":"Julien Danjou","display_name":"jd","email":"julien@danjou.info","username":"jdanjou"},"change_message_id":"b76a94179901bf3b7fb49685e6b5523131786e25","unresolved":false,"context_lines":[{"line_number":222,"context_line":"over an hour (one point every 5 minutes), or a points every 1 hours over 1 day"},{"line_number":223,"context_line":"(24 points). An archive policy is defined by a name and a definition composed of"},{"line_number":224,"context_line":"a list of at least one of the previously described item."},{"line_number":225,"context_line":""},{"line_number":226,"context_line":"By default, new measures can only be sent with timestamp in the future or part"},{"line_number":227,"context_line":"of the last aggregation period. This window size is based on the largest"},{"line_number":228,"context_line":"granularity defined in the archive window. The `back_window` field can be used"}],"source_content_type":"text/x-rst","patch_set":3,"id":"5a890539_24010d05","line":225,"in_reply_to":"5a890539_c692119e","updated":"2014-11-26 13:57:12.000000000","message":"Done","commit_id":"6feafdbfe5a4b4823d910c4fc5247b80d4c89855"},{"author":{"_account_id":7478,"name":"Nadya Shakhat","email":"nadmi4@gmail.com","username":"nprivalova"},"change_message_id":"051b9235be0c8acf5ec25b3fb17ce8b6d6f1970a","unresolved":false,"context_lines":[{"line_number":228,"context_line":"granularity defined in the archive window. The `back_window` field can be used"},{"line_number":229,"context_line":"to set the number of period to keep so it is possible to send measure that are"},{"line_number":230,"context_line":"older than the last timestamp sent."},{"line_number":231,"context_line":""},{"line_number":232,"context_line":"For example, if an archive policy is defined with a larger aggregation of 1"},{"line_number":233,"context_line":"hour, and the last point sent has a timestamp of 14:34, it\u0027s possible to send"},{"line_number":234,"context_line":"measures back to 14:00 with a `back_window` of 0. If the `back_window` is set to"}],"source_content_type":"text/x-rst","patch_set":3,"id":"5a890539_6624fd5f","line":231,"updated":"2014-11-26 13:11:14.000000000","message":"I think that \u0027send\u0027 is not an appropriate word here. Everything can be sent. But not everything may be processed or aggregated.","commit_id":"6feafdbfe5a4b4823d910c4fc5247b80d4c89855"},{"author":{"_account_id":1669,"name":"Julien Danjou","display_name":"jd","email":"julien@danjou.info","username":"jdanjou"},"change_message_id":"b76a94179901bf3b7fb49685e6b5523131786e25","unresolved":false,"context_lines":[{"line_number":228,"context_line":"granularity defined in the archive window. The `back_window` field can be used"},{"line_number":229,"context_line":"to set the number of period to keep so it is possible to send measure that are"},{"line_number":230,"context_line":"older than the last timestamp sent."},{"line_number":231,"context_line":""},{"line_number":232,"context_line":"For example, if an archive policy is defined with a larger aggregation of 1"},{"line_number":233,"context_line":"hour, and the last point sent has a timestamp of 14:34, it\u0027s possible to send"},{"line_number":234,"context_line":"measures back to 14:00 with a `back_window` of 0. If the `back_window` is set to"}],"source_content_type":"text/x-rst","patch_set":3,"id":"5a890539_64079518","line":231,"in_reply_to":"5a890539_6624fd5f","updated":"2014-11-26 13:57:12.000000000","message":"Done","commit_id":"6feafdbfe5a4b4823d910c4fc5247b80d4c89855"},{"author":{"_account_id":2284,"name":"Eoghan Glynn","email":"eglynn@redhat.com","username":"eglynn"},"change_message_id":"d22affd5992af6ca4dc476cc15d0610e191d63e1","unresolved":false,"context_lines":[{"line_number":214,"context_line":"When sending measures for an entity to Gnocchi, the values are dynamically"},{"line_number":215,"context_line":"aggregated. That means that Gnocchi does not store all sent measures, but"},{"line_number":216,"context_line":"aggregates them over a certain period of time. Gnocchi provides several"},{"line_number":217,"context_line":"aggregation method (mean, min, max, sum…) that are builtin."},{"line_number":218,"context_line":""},{"line_number":219,"context_line":"An archive policy is defined by a list of items in the `definition` field. Each"},{"line_number":220,"context_line":"item is composed of the timespan and the level of precision that must be kept"}],"source_content_type":"text/x-rst","patch_set":4,"id":"5a890539_771ba473","line":217,"updated":"2014-11-27 14:47:54.000000000","message":"Unrelated nitpick that caught my eye:\n\n  s/aggregation method/aggregation methods/","commit_id":"50f3ae12780b8f6402ae8626d09a676fc5c47c25"},{"author":{"_account_id":1669,"name":"Julien Danjou","display_name":"jd","email":"julien@danjou.info","username":"jdanjou"},"change_message_id":"2ee9acca2a517265bc7d80580d285220360c4d15","unresolved":false,"context_lines":[{"line_number":214,"context_line":"When sending measures for an entity to Gnocchi, the values are dynamically"},{"line_number":215,"context_line":"aggregated. That means that Gnocchi does not store all sent measures, but"},{"line_number":216,"context_line":"aggregates them over a certain period of time. Gnocchi provides several"},{"line_number":217,"context_line":"aggregation method (mean, min, max, sum…) that are builtin."},{"line_number":218,"context_line":""},{"line_number":219,"context_line":"An archive policy is defined by a list of items in the `definition` field. Each"},{"line_number":220,"context_line":"item is composed of the timespan and the level of precision that must be kept"}],"source_content_type":"text/x-rst","patch_set":4,"id":"5a890539_9a53d538","line":217,"in_reply_to":"5a890539_771ba473","updated":"2014-11-27 15:49:12.000000000","message":"Done","commit_id":"50f3ae12780b8f6402ae8626d09a676fc5c47c25"},{"author":{"_account_id":2284,"name":"Eoghan Glynn","email":"eglynn@redhat.com","username":"eglynn"},"change_message_id":"d22affd5992af6ca4dc476cc15d0610e191d63e1","unresolved":false,"context_lines":[{"line_number":219,"context_line":"An archive policy is defined by a list of items in the `definition` field. Each"},{"line_number":220,"context_line":"item is composed of the timespan and the level of precision that must be kept"},{"line_number":221,"context_line":"when aggregating data, determined using at least 2 of the `points`,"},{"line_number":222,"context_line":"`granularity` and `timespan` fields. For example, an item might be defined of 12"},{"line_number":223,"context_line":"points over 1 hour (one point every 5 minutes), or a points every 1 hour over 1"},{"line_number":224,"context_line":"day (24 points)."},{"line_number":225,"context_line":""}],"source_content_type":"text/x-rst","patch_set":4,"id":"5a890539_975d7018","line":222,"updated":"2014-11-27 14:47:54.000000000","message":"s/defined of/defined as/","commit_id":"50f3ae12780b8f6402ae8626d09a676fc5c47c25"},{"author":{"_account_id":1669,"name":"Julien Danjou","display_name":"jd","email":"julien@danjou.info","username":"jdanjou"},"change_message_id":"2ee9acca2a517265bc7d80580d285220360c4d15","unresolved":false,"context_lines":[{"line_number":219,"context_line":"An archive policy is defined by a list of items in the `definition` field. Each"},{"line_number":220,"context_line":"item is composed of the timespan and the level of precision that must be kept"},{"line_number":221,"context_line":"when aggregating data, determined using at least 2 of the `points`,"},{"line_number":222,"context_line":"`granularity` and `timespan` fields. For example, an item might be defined of 12"},{"line_number":223,"context_line":"points over 1 hour (one point every 5 minutes), or a points every 1 hour over 1"},{"line_number":224,"context_line":"day (24 points)."},{"line_number":225,"context_line":""}],"source_content_type":"text/x-rst","patch_set":4,"id":"5a890539_ba2fb1a6","line":222,"in_reply_to":"5a890539_975d7018","updated":"2014-11-27 15:49:12.000000000","message":"Done","commit_id":"50f3ae12780b8f6402ae8626d09a676fc5c47c25"},{"author":{"_account_id":2284,"name":"Eoghan Glynn","email":"eglynn@redhat.com","username":"eglynn"},"change_message_id":"d22affd5992af6ca4dc476cc15d0610e191d63e1","unresolved":false,"context_lines":[{"line_number":220,"context_line":"item is composed of the timespan and the level of precision that must be kept"},{"line_number":221,"context_line":"when aggregating data, determined using at least 2 of the `points`,"},{"line_number":222,"context_line":"`granularity` and `timespan` fields. For example, an item might be defined of 12"},{"line_number":223,"context_line":"points over 1 hour (one point every 5 minutes), or a points every 1 hour over 1"},{"line_number":224,"context_line":"day (24 points)."},{"line_number":225,"context_line":""},{"line_number":226,"context_line":"By default, new measures can only be processed if they have timestamps in the"}],"source_content_type":"text/x-rst","patch_set":4,"id":"5a890539_d79e18b8","line":223,"updated":"2014-11-27 14:47:54.000000000","message":"s/or a points/or 1 point/","commit_id":"50f3ae12780b8f6402ae8626d09a676fc5c47c25"},{"author":{"_account_id":1669,"name":"Julien Danjou","display_name":"jd","email":"julien@danjou.info","username":"jdanjou"},"change_message_id":"2ee9acca2a517265bc7d80580d285220360c4d15","unresolved":false,"context_lines":[{"line_number":220,"context_line":"item is composed of the timespan and the level of precision that must be kept"},{"line_number":221,"context_line":"when aggregating data, determined using at least 2 of the `points`,"},{"line_number":222,"context_line":"`granularity` and `timespan` fields. For example, an item might be defined of 12"},{"line_number":223,"context_line":"points over 1 hour (one point every 5 minutes), or a points every 1 hour over 1"},{"line_number":224,"context_line":"day (24 points)."},{"line_number":225,"context_line":""},{"line_number":226,"context_line":"By default, new measures can only be processed if they have timestamps in the"}],"source_content_type":"text/x-rst","patch_set":4,"id":"5a890539_da1b9d7e","line":223,"in_reply_to":"5a890539_d79e18b8","updated":"2014-11-27 15:49:12.000000000","message":"Done","commit_id":"50f3ae12780b8f6402ae8626d09a676fc5c47c25"},{"author":{"_account_id":2284,"name":"Eoghan Glynn","email":"eglynn@redhat.com","username":"eglynn"},"change_message_id":"d22affd5992af6ca4dc476cc15d0610e191d63e1","unresolved":false,"context_lines":[{"line_number":224,"context_line":"day (24 points)."},{"line_number":225,"context_line":""},{"line_number":226,"context_line":"By default, new measures can only be processed if they have timestamps in the"},{"line_number":227,"context_line":"future or part of the last aggregation period. Such a window size is based on"},{"line_number":228,"context_line":"the largest granularity defined in the archive policy definition. To enlarge"},{"line_number":229,"context_line":"this window size, the `back_window` field can be used to set the number of"},{"line_number":230,"context_line":"period to keep so it is possible to process measures that are older than the"}],"source_content_type":"text/x-rst","patch_set":4,"id":"5a890539_57aa28d3","line":227,"updated":"2014-11-27 14:47:54.000000000","message":"s/Such a window size/This window size/","commit_id":"50f3ae12780b8f6402ae8626d09a676fc5c47c25"},{"author":{"_account_id":1669,"name":"Julien Danjou","display_name":"jd","email":"julien@danjou.info","username":"jdanjou"},"change_message_id":"2ee9acca2a517265bc7d80580d285220360c4d15","unresolved":false,"context_lines":[{"line_number":224,"context_line":"day (24 points)."},{"line_number":225,"context_line":""},{"line_number":226,"context_line":"By default, new measures can only be processed if they have timestamps in the"},{"line_number":227,"context_line":"future or part of the last aggregation period. Such a window size is based on"},{"line_number":228,"context_line":"the largest granularity defined in the archive policy definition. To enlarge"},{"line_number":229,"context_line":"this window size, the `back_window` field can be used to set the number of"},{"line_number":230,"context_line":"period to keep so it is possible to process measures that are older than the"}],"source_content_type":"text/x-rst","patch_set":4,"id":"5a890539_1a160556","line":227,"in_reply_to":"5a890539_57aa28d3","updated":"2014-11-27 15:49:12.000000000","message":"Done","commit_id":"50f3ae12780b8f6402ae8626d09a676fc5c47c25"},{"author":{"_account_id":2284,"name":"Eoghan Glynn","email":"eglynn@redhat.com","username":"eglynn"},"change_message_id":"d22affd5992af6ca4dc476cc15d0610e191d63e1","unresolved":false,"context_lines":[{"line_number":227,"context_line":"future or part of the last aggregation period. Such a window size is based on"},{"line_number":228,"context_line":"the largest granularity defined in the archive policy definition. To enlarge"},{"line_number":229,"context_line":"this window size, the `back_window` field can be used to set the number of"},{"line_number":230,"context_line":"period to keep so it is possible to process measures that are older than the"},{"line_number":231,"context_line":"last timestamp sent."},{"line_number":232,"context_line":""},{"line_number":233,"context_line":"For example, if an archive policy is defined with a larger aggregation of 1"}],"source_content_type":"text/x-rst","patch_set":4,"id":"5a890539_97b49036","line":230,"updated":"2014-11-27 14:47:54.000000000","message":"s/period to keep/periods to keep/","commit_id":"50f3ae12780b8f6402ae8626d09a676fc5c47c25"},{"author":{"_account_id":1669,"name":"Julien Danjou","display_name":"jd","email":"julien@danjou.info","username":"jdanjou"},"change_message_id":"2ee9acca2a517265bc7d80580d285220360c4d15","unresolved":false,"context_lines":[{"line_number":227,"context_line":"future or part of the last aggregation period. Such a window size is based on"},{"line_number":228,"context_line":"the largest granularity defined in the archive policy definition. To enlarge"},{"line_number":229,"context_line":"this window size, the `back_window` field can be used to set the number of"},{"line_number":230,"context_line":"period to keep so it is possible to process measures that are older than the"},{"line_number":231,"context_line":"last timestamp sent."},{"line_number":232,"context_line":""},{"line_number":233,"context_line":"For example, if an archive policy is defined with a larger aggregation of 1"}],"source_content_type":"text/x-rst","patch_set":4,"id":"5a890539_3a0ae127","line":230,"in_reply_to":"5a890539_97b49036","updated":"2014-11-27 15:49:12.000000000","message":"Done","commit_id":"50f3ae12780b8f6402ae8626d09a676fc5c47c25"},{"author":{"_account_id":2284,"name":"Eoghan Glynn","email":"eglynn@redhat.com","username":"eglynn"},"change_message_id":"d22affd5992af6ca4dc476cc15d0610e191d63e1","unresolved":false,"context_lines":[{"line_number":228,"context_line":"the largest granularity defined in the archive policy definition. To enlarge"},{"line_number":229,"context_line":"this window size, the `back_window` field can be used to set the number of"},{"line_number":230,"context_line":"period to keep so it is possible to process measures that are older than the"},{"line_number":231,"context_line":"last timestamp sent."},{"line_number":232,"context_line":""},{"line_number":233,"context_line":"For example, if an archive policy is defined with a larger aggregation of 1"},{"line_number":234,"context_line":"hour, and the last point processed has a timestamp of 14:34, it\u0027s possible to"}],"source_content_type":"text/x-rst","patch_set":4,"id":"5a890539_b7e7cc45","line":231,"updated":"2014-11-27 14:47:54.000000000","message":"Older than the last period boundary, as opposed to the last timestamp sent?","commit_id":"50f3ae12780b8f6402ae8626d09a676fc5c47c25"},{"author":{"_account_id":1669,"name":"Julien Danjou","display_name":"jd","email":"julien@danjou.info","username":"jdanjou"},"change_message_id":"2ee9acca2a517265bc7d80580d285220360c4d15","unresolved":false,"context_lines":[{"line_number":228,"context_line":"the largest granularity defined in the archive policy definition. To enlarge"},{"line_number":229,"context_line":"this window size, the `back_window` field can be used to set the number of"},{"line_number":230,"context_line":"period to keep so it is possible to process measures that are older than the"},{"line_number":231,"context_line":"last timestamp sent."},{"line_number":232,"context_line":""},{"line_number":233,"context_line":"For example, if an archive policy is defined with a larger aggregation of 1"},{"line_number":234,"context_line":"hour, and the last point processed has a timestamp of 14:34, it\u0027s possible to"}],"source_content_type":"text/x-rst","patch_set":4,"id":"5a890539_5a07ad1d","line":231,"in_reply_to":"5a890539_b7e7cc45","updated":"2014-11-27 15:49:12.000000000","message":"Done","commit_id":"50f3ae12780b8f6402ae8626d09a676fc5c47c25"},{"author":{"_account_id":2284,"name":"Eoghan Glynn","email":"eglynn@redhat.com","username":"eglynn"},"change_message_id":"d22affd5992af6ca4dc476cc15d0610e191d63e1","unresolved":false,"context_lines":[{"line_number":230,"context_line":"period to keep so it is possible to process measures that are older than the"},{"line_number":231,"context_line":"last timestamp sent."},{"line_number":232,"context_line":""},{"line_number":233,"context_line":"For example, if an archive policy is defined with a larger aggregation of 1"},{"line_number":234,"context_line":"hour, and the last point processed has a timestamp of 14:34, it\u0027s possible to"},{"line_number":235,"context_line":"process measures back to 14:00 with a `back_window` of 0. If the `back_window`"},{"line_number":236,"context_line":"is set to 2, it will be possible to send measures with timestamp back to 12:00."}],"source_content_type":"text/x-rst","patch_set":4,"id":"5a890539_17f7c0f6","line":233,"updated":"2014-11-27 14:47:54.000000000","message":"s/with a larger/with coarsest/","commit_id":"50f3ae12780b8f6402ae8626d09a676fc5c47c25"},{"author":{"_account_id":1669,"name":"Julien Danjou","display_name":"jd","email":"julien@danjou.info","username":"jdanjou"},"change_message_id":"2ee9acca2a517265bc7d80580d285220360c4d15","unresolved":false,"context_lines":[{"line_number":230,"context_line":"period to keep so it is possible to process measures that are older than the"},{"line_number":231,"context_line":"last timestamp sent."},{"line_number":232,"context_line":""},{"line_number":233,"context_line":"For example, if an archive policy is defined with a larger aggregation of 1"},{"line_number":234,"context_line":"hour, and the last point processed has a timestamp of 14:34, it\u0027s possible to"},{"line_number":235,"context_line":"process measures back to 14:00 with a `back_window` of 0. If the `back_window`"},{"line_number":236,"context_line":"is set to 2, it will be possible to send measures with timestamp back to 12:00."}],"source_content_type":"text/x-rst","patch_set":4,"id":"5a890539_250d6238","line":233,"in_reply_to":"5a890539_17f7c0f6","updated":"2014-11-27 15:49:12.000000000","message":"Done","commit_id":"50f3ae12780b8f6402ae8626d09a676fc5c47c25"}],"gnocchi/rest/__init__.py":[{"author":{"_account_id":7478,"name":"Nadya Shakhat","email":"nadmi4@gmail.com","username":"nprivalova"},"change_message_id":"f0a0b0aa88a3f07c3347f34b755a8569c6d123c3","unresolved":false,"context_lines":[{"line_number":99,"context_line":"                v[\u0027archive_policy\u0027], user_id, project_id))"},{"line_number":100,"context_line":"    return new_entities"},{"line_number":101,"context_line":""},{"line_number":102,"context_line":""},{"line_number":103,"context_line":"def PositiveInt(value):"},{"line_number":104,"context_line":"    value \u003d int(value)"},{"line_number":105,"context_line":"    if value \u003c 0:"}],"source_content_type":"text/x-python","patch_set":1,"id":"5a890539_59f2049b","line":102,"updated":"2014-11-21 14:24:50.000000000","message":"Just a thought: positive number is bigger then zero. Maybe \"notNegative\" is better to be used here. PositiveInt -\u003e NotNegativeInt, PositiveNotNullInt -\u003e PositiveInt","commit_id":"bc890c03c89970d40a726b2ec19983e7cc149331"},{"author":{"_account_id":1669,"name":"Julien Danjou","display_name":"jd","email":"julien@danjou.info","username":"jdanjou"},"change_message_id":"6b7fd380e3f04a41ddea441d007b4ca769fcbe2b","unresolved":false,"context_lines":[{"line_number":99,"context_line":"                v[\u0027archive_policy\u0027], user_id, project_id))"},{"line_number":100,"context_line":"    return new_entities"},{"line_number":101,"context_line":""},{"line_number":102,"context_line":""},{"line_number":103,"context_line":"def PositiveInt(value):"},{"line_number":104,"context_line":"    value \u003d int(value)"},{"line_number":105,"context_line":"    if value \u003c 0:"}],"source_content_type":"text/x-python","patch_set":1,"id":"5a890539_8abc086e","line":102,"in_reply_to":"5a890539_59f2049b","updated":"2014-11-21 15:35:24.000000000","message":"Good idea.","commit_id":"bc890c03c89970d40a726b2ec19983e7cc149331"},{"author":{"_account_id":2284,"name":"Eoghan Glynn","email":"eglynn@redhat.com","username":"eglynn"},"change_message_id":"d22affd5992af6ca4dc476cc15d0610e191d63e1","unresolved":false,"context_lines":[{"line_number":126,"context_line":"    return new_entities"},{"line_number":127,"context_line":""},{"line_number":128,"context_line":""},{"line_number":129,"context_line":"def PositiveOrNullInt(value):"},{"line_number":130,"context_line":"    value \u003d int(value)"},{"line_number":131,"context_line":"    if value \u003c 0:"},{"line_number":132,"context_line":"        raise ValueError(\"Value must be positive\")"}],"source_content_type":"text/x-python","patch_set":4,"id":"5a890539_576dc898","line":129,"updated":"2014-11-27 14:47:54.000000000","message":"Nitpick: positive is generally understood as strictly greater than zero, so how about NonNegativeOrNullInt?","commit_id":"50f3ae12780b8f6402ae8626d09a676fc5c47c25"},{"author":{"_account_id":1669,"name":"Julien Danjou","display_name":"jd","email":"julien@danjou.info","username":"jdanjou"},"change_message_id":"2ee9acca2a517265bc7d80580d285220360c4d15","unresolved":false,"context_lines":[{"line_number":126,"context_line":"    return new_entities"},{"line_number":127,"context_line":""},{"line_number":128,"context_line":""},{"line_number":129,"context_line":"def PositiveOrNullInt(value):"},{"line_number":130,"context_line":"    value \u003d int(value)"},{"line_number":131,"context_line":"    if value \u003c 0:"},{"line_number":132,"context_line":"        raise ValueError(\"Value must be positive\")"}],"source_content_type":"text/x-python","patch_set":4,"id":"5a890539_6535aada","line":129,"in_reply_to":"5a890539_576dc898","updated":"2014-11-27 15:49:12.000000000","message":"I really miss the point. Positive or Null means \u003e\u003d 0 right ? That\u0027s what this does. :)","commit_id":"50f3ae12780b8f6402ae8626d09a676fc5c47c25"},{"author":{"_account_id":2284,"name":"Eoghan Glynn","email":"eglynn@redhat.com","username":"eglynn"},"change_message_id":"a5f14e9f6bb4517f86a87405df87201405b48172","unresolved":false,"context_lines":[{"line_number":126,"context_line":"    return new_entities"},{"line_number":127,"context_line":""},{"line_number":128,"context_line":""},{"line_number":129,"context_line":"def PositiveOrNullInt(value):"},{"line_number":130,"context_line":"    value \u003d int(value)"},{"line_number":131,"context_line":"    if value \u003c 0:"},{"line_number":132,"context_line":"        raise ValueError(\"Value must be positive\")"}],"source_content_type":"text/x-python","patch_set":4,"id":"5a890539_e5ca7a19","line":129,"in_reply_to":"5a890539_6535aada","updated":"2014-11-27 16:08:08.000000000","message":"Well, positive means strictly \u003e 0, non-negative is \u003e\u003d 0, see:\n\n  http://mathworld.wolfram.com/PositiveInteger.html\n  http://mathworld.wolfram.com/NonnegativeInteger.html","commit_id":"50f3ae12780b8f6402ae8626d09a676fc5c47c25"},{"author":{"_account_id":1669,"name":"Julien Danjou","display_name":"jd","email":"julien@danjou.info","username":"jdanjou"},"change_message_id":"fa9ba300db220d4a8bd23bd0c405738112a0d09e","unresolved":false,"context_lines":[{"line_number":126,"context_line":"    return new_entities"},{"line_number":127,"context_line":""},{"line_number":128,"context_line":""},{"line_number":129,"context_line":"def PositiveOrNullInt(value):"},{"line_number":130,"context_line":"    value \u003d int(value)"},{"line_number":131,"context_line":"    if value \u003c 0:"},{"line_number":132,"context_line":"        raise ValueError(\"Value must be positive\")"}],"source_content_type":"text/x-python","patch_set":4,"id":"5a890539_80044419","line":129,"in_reply_to":"5a890539_e5ca7a19","updated":"2014-11-27 17:00:11.000000000","message":"Ah so you\u0027d suggest NonNegativeInt?\n(which was NOT your first proposal ;)","commit_id":"50f3ae12780b8f6402ae8626d09a676fc5c47c25"}],"gnocchi/tests/test_rest.py":[{"author":{"_account_id":2284,"name":"Eoghan Glynn","email":"eglynn@redhat.com","username":"eglynn"},"change_message_id":"d22affd5992af6ca4dc476cc15d0610e191d63e1","unresolved":false,"context_lines":[{"line_number":596,"context_line":"            params\u003d[{\"timestamp\": \u00272013-01-01 23:28:23\u0027,"},{"line_number":597,"context_line":"                     \"value\": 1234.2}],"},{"line_number":598,"context_line":"            status\u003d204)"},{"line_number":599,"context_line":"        result \u003d self.app.post_json("},{"line_number":600,"context_line":"            \"/v1/entity/%s/measures\" % entity[\u0027id\u0027],"},{"line_number":601,"context_line":"            params\u003d[{\"timestamp\": \u00272012-01-01 23:27:23\u0027,"},{"line_number":602,"context_line":"                     \"value\": 1234.2}],"}],"source_content_type":"text/x-python","patch_set":4,"id":"5a890539_d7bd38d9","line":599,"updated":"2014-11-27 14:47:54.000000000","message":"Would it make sense to expand this test with corresponding gets, so that we\u0027re sure that the points in the back_window are feeding into the aggregations properly (and not just discarded)?","commit_id":"50f3ae12780b8f6402ae8626d09a676fc5c47c25"},{"author":{"_account_id":1669,"name":"Julien Danjou","display_name":"jd","email":"julien@danjou.info","username":"jdanjou"},"change_message_id":"2ee9acca2a517265bc7d80580d285220360c4d15","unresolved":false,"context_lines":[{"line_number":596,"context_line":"            params\u003d[{\"timestamp\": \u00272013-01-01 23:28:23\u0027,"},{"line_number":597,"context_line":"                     \"value\": 1234.2}],"},{"line_number":598,"context_line":"            status\u003d204)"},{"line_number":599,"context_line":"        result \u003d self.app.post_json("},{"line_number":600,"context_line":"            \"/v1/entity/%s/measures\" % entity[\u0027id\u0027],"},{"line_number":601,"context_line":"            params\u003d[{\"timestamp\": \u00272012-01-01 23:27:23\u0027,"},{"line_number":602,"context_line":"                     \"value\": 1234.2}],"}],"source_content_type":"text/x-python","patch_set":4,"id":"5a890539_25456217","line":599,"in_reply_to":"5a890539_d7bd38d9","updated":"2014-11-27 15:49:12.000000000","message":"Done","commit_id":"50f3ae12780b8f6402ae8626d09a676fc5c47c25"}]}
