)]}'
{"docs/monasca-api-spec.md":[{"author":{"_account_id":11809,"name":"Craig Bryant","email":"craig.bryant@hpe.com","username":"craig-bryant"},"change_message_id":"f6e3cdef5e2ae40fdc7927a2c7a2de509fcb245c","unresolved":false,"context_lines":[{"line_number":633,"context_line":"* 200 - OK"},{"line_number":634,"context_line":""},{"line_number":635,"context_line":"#### Response Body"},{"line_number":636,"context_line":"Returns a JSON object with an \u0027elements\u0027 array of supported versions."},{"line_number":637,"context_line":""},{"line_number":638,"context_line":"#### Response Examples"},{"line_number":639,"context_line":"```"}],"source_content_type":"text/x-markdown","patch_set":1,"id":"1a6ced46_862195a1","line":636,"updated":"2015-03-24 15:00:20.000000000","message":"It also has a links object. Somewhere in this document it should explain what the next link is.","commit_id":"8a469043078adfa0c9f4e9ed293fb8e0a12cb67b"},{"author":{"_account_id":11809,"name":"Craig Bryant","email":"craig.bryant@hpe.com","username":"craig-bryant"},"change_message_id":"57258abe4ee02c582a5a8d1f6b7b93c08812fe60","unresolved":false,"context_lines":[{"line_number":602,"context_line":"* 422 - Unprocessable entity"},{"line_number":603,"context_line":""},{"line_number":604,"context_line":"# Paging"},{"line_number":605,"context_line":"The Monasca API implements a paging mechanism to allow users to \u0027page\u0027 through result sets returned from the API. The paging functionality is limited to resources that return unbounded lists of results. This permits the user to consume as much data from the API as is needed without placing undo memory consumption burdens on the Monasca API Server. The paging mechanism is accomplished by allowing the user to specify an offset and a limit in the request URL as query parameters."},{"line_number":606,"context_line":""},{"line_number":607,"context_line":"For example:"},{"line_number":608,"context_line":""}],"source_content_type":"text/x-markdown","patch_set":2,"id":"1a6ced46_15eea022","line":605,"updated":"2015-03-24 18:09:14.000000000","message":"This is a good explanation of Paging, but it doesn\u0027t talk about the next links","commit_id":"68016fdb4baaac48ba93f5809ff51e5912e88ac9"},{"author":{"_account_id":12512,"name":"Deklan Dieterly","email":"deklan.dieterly@hpe.com","username":"deklan"},"change_message_id":"77d38fcbc86dd5716b12e73519653cac3c282f08","unresolved":false,"context_lines":[{"line_number":602,"context_line":"* 422 - Unprocessable entity"},{"line_number":603,"context_line":""},{"line_number":604,"context_line":"# Paging"},{"line_number":605,"context_line":"The Monasca API implements a paging mechanism to allow users to \u0027page\u0027 through result sets returned from the API. The paging functionality is limited to resources that return unbounded lists of results. This permits the user to consume as much data from the API as is needed without placing undo memory consumption burdens on the Monasca API Server. The paging mechanism is accomplished by allowing the user to specify an offset and a limit in the request URL as query parameters."},{"line_number":606,"context_line":""},{"line_number":607,"context_line":"For example:"},{"line_number":608,"context_line":""}],"source_content_type":"text/x-markdown","patch_set":2,"id":"1a6ced46_f805797a","line":605,"in_reply_to":"1a6ced46_15eea022","updated":"2015-03-24 19:14:26.000000000","message":"This is talked about after the example.","commit_id":"68016fdb4baaac48ba93f5809ff51e5912e88ac9"},{"author":{"_account_id":11809,"name":"Craig Bryant","email":"craig.bryant@hpe.com","username":"craig-bryant"},"change_message_id":"57258abe4ee02c582a5a8d1f6b7b93c08812fe60","unresolved":false,"context_lines":[{"line_number":607,"context_line":"For example:"},{"line_number":608,"context_line":""},{"line_number":609,"context_line":"```"},{"line_number":610,"context_line":"\"http://192.168.10.4:8080/v2.0/metrics/measurements?offset\u003d2015-03-03T05%3A21%3A55Z\u0026limit\u003d1000\u0026name\u003dcpu.system_perc\u0026dimensions\u003dhostname%3Adevstack\u0026start_time\u003d2014-07-18T03%3A00%3A00Z\""},{"line_number":611,"context_line":""},{"line_number":612,"context_line":"```"},{"line_number":613,"context_line":""}],"source_content_type":"text/x-markdown","patch_set":2,"id":"1a6ced46_f59ca4c2","line":610,"updated":"2015-03-24 18:09:14.000000000","message":"Should you put a limit parameter here as a example?","commit_id":"68016fdb4baaac48ba93f5809ff51e5912e88ac9"},{"author":{"_account_id":12512,"name":"Deklan Dieterly","email":"deklan.dieterly@hpe.com","username":"deklan"},"change_message_id":"77d38fcbc86dd5716b12e73519653cac3c282f08","unresolved":false,"context_lines":[{"line_number":607,"context_line":"For example:"},{"line_number":608,"context_line":""},{"line_number":609,"context_line":"```"},{"line_number":610,"context_line":"\"http://192.168.10.4:8080/v2.0/metrics/measurements?offset\u003d2015-03-03T05%3A21%3A55Z\u0026limit\u003d1000\u0026name\u003dcpu.system_perc\u0026dimensions\u003dhostname%3Adevstack\u0026start_time\u003d2014-07-18T03%3A00%3A00Z\""},{"line_number":611,"context_line":""},{"line_number":612,"context_line":"```"},{"line_number":613,"context_line":""}],"source_content_type":"text/x-markdown","patch_set":2,"id":"1a6ced46_78dee96e","line":610,"in_reply_to":"1a6ced46_f59ca4c2","updated":"2015-03-24 19:14:26.000000000","message":"Done","commit_id":"68016fdb4baaac48ba93f5809ff51e5912e88ac9"},{"author":{"_account_id":11809,"name":"Craig Bryant","email":"craig.bryant@hpe.com","username":"craig-bryant"},"change_message_id":"57258abe4ee02c582a5a8d1f6b7b93c08812fe60","unresolved":false,"context_lines":[{"line_number":613,"context_line":""},{"line_number":614,"context_line":"Results sets that would otherwise return more results if there had not been a limit will include a next link with the offset prepopulated. The user only need use the next link to get the next set of results."},{"line_number":615,"context_line":""},{"line_number":616,"context_line":"If no limit is specified in the request URL, then a server-wide configurable limit is applied. "},{"line_number":617,"context_line":""},{"line_number":618,"context_line":""},{"line_number":619,"context_line":"## Offset"}],"source_content_type":"text/x-markdown","patch_set":2,"id":"1a6ced46_b54cec71","line":616,"updated":"2015-03-24 18:09:14.000000000","message":"trailing space","commit_id":"68016fdb4baaac48ba93f5809ff51e5912e88ac9"},{"author":{"_account_id":12512,"name":"Deklan Dieterly","email":"deklan.dieterly@hpe.com","username":"deklan"},"change_message_id":"77d38fcbc86dd5716b12e73519653cac3c282f08","unresolved":false,"context_lines":[{"line_number":613,"context_line":""},{"line_number":614,"context_line":"Results sets that would otherwise return more results if there had not been a limit will include a next link with the offset prepopulated. The user only need use the next link to get the next set of results."},{"line_number":615,"context_line":""},{"line_number":616,"context_line":"If no limit is specified in the request URL, then a server-wide configurable limit is applied. "},{"line_number":617,"context_line":""},{"line_number":618,"context_line":""},{"line_number":619,"context_line":"## Offset"}],"source_content_type":"text/x-markdown","patch_set":2,"id":"1a6ced46_d8eefdb3","line":616,"in_reply_to":"1a6ced46_b54cec71","updated":"2015-03-24 19:14:26.000000000","message":"Done","commit_id":"68016fdb4baaac48ba93f5809ff51e5912e88ac9"},{"author":{"_account_id":11809,"name":"Craig Bryant","email":"craig.bryant@hpe.com","username":"craig-bryant"},"change_message_id":"57258abe4ee02c582a5a8d1f6b7b93c08812fe60","unresolved":false,"context_lines":[{"line_number":617,"context_line":""},{"line_number":618,"context_line":""},{"line_number":619,"context_line":"## Offset"},{"line_number":620,"context_line":"Offsets can be either integer offsets, string offsets, or timestamp offsets. The use of either integer, string, or timestamp is determined by the resource being queried.    "},{"line_number":621,"context_line":""},{"line_number":622,"context_line":"For example, an integer offset would look like this:"},{"line_number":623,"context_line":""}],"source_content_type":"text/x-markdown","patch_set":2,"id":"1a6ced46_f5758498","line":620,"updated":"2015-03-24 18:09:14.000000000","message":"We already ran into trouble because ids changed from String to Ints or vice versa. We should just say they are Strings. If we support Vertica, they may be of different types\n\ntrailing space","commit_id":"68016fdb4baaac48ba93f5809ff51e5912e88ac9"},{"author":{"_account_id":12512,"name":"Deklan Dieterly","email":"deklan.dieterly@hpe.com","username":"deklan"},"change_message_id":"77d38fcbc86dd5716b12e73519653cac3c282f08","unresolved":false,"context_lines":[{"line_number":617,"context_line":""},{"line_number":618,"context_line":""},{"line_number":619,"context_line":"## Offset"},{"line_number":620,"context_line":"Offsets can be either integer offsets, string offsets, or timestamp offsets. The use of either integer, string, or timestamp is determined by the resource being queried.    "},{"line_number":621,"context_line":""},{"line_number":622,"context_line":"For example, an integer offset would look like this:"},{"line_number":623,"context_line":""}],"source_content_type":"text/x-markdown","patch_set":2,"id":"1a6ced46_f813b9b5","line":620,"in_reply_to":"1a6ced46_f5758498","updated":"2015-03-24 19:14:26.000000000","message":"in effect, they are all strings as far as the URL is concerned, but the form that they take is either int, string, or timestamp.","commit_id":"68016fdb4baaac48ba93f5809ff51e5912e88ac9"},{"author":{"_account_id":11809,"name":"Craig Bryant","email":"craig.bryant@hpe.com","username":"craig-bryant"},"change_message_id":"57258abe4ee02c582a5a8d1f6b7b93c08812fe60","unresolved":false,"context_lines":[{"line_number":641,"context_line":""},{"line_number":642,"context_line":"```"},{"line_number":643,"context_line":""},{"line_number":644,"context_line":"Different resources use different offset types because of the internal implementation of different resources depends on different types of mechanishms for indexing and identifying resources. The type and form of the offsets for each resource can be determined by referring to the examples in each resource section below."},{"line_number":645,"context_line":""},{"line_number":646,"context_line":"Results will be returned for elements whose identifiers are greater than the offset."},{"line_number":647,"context_line":""}],"source_content_type":"text/x-markdown","patch_set":2,"id":"1a6ced46_7542743f","line":644,"updated":"2015-03-24 18:09:14.000000000","message":"Misspelled mechanisms","commit_id":"68016fdb4baaac48ba93f5809ff51e5912e88ac9"},{"author":{"_account_id":12512,"name":"Deklan Dieterly","email":"deklan.dieterly@hpe.com","username":"deklan"},"change_message_id":"77d38fcbc86dd5716b12e73519653cac3c282f08","unresolved":false,"context_lines":[{"line_number":641,"context_line":""},{"line_number":642,"context_line":"```"},{"line_number":643,"context_line":""},{"line_number":644,"context_line":"Different resources use different offset types because of the internal implementation of different resources depends on different types of mechanishms for indexing and identifying resources. The type and form of the offsets for each resource can be determined by referring to the examples in each resource section below."},{"line_number":645,"context_line":""},{"line_number":646,"context_line":"Results will be returned for elements whose identifiers are greater than the offset."},{"line_number":647,"context_line":""}],"source_content_type":"text/x-markdown","patch_set":2,"id":"1a6ced46_9822c5ff","line":644,"in_reply_to":"1a6ced46_7542743f","updated":"2015-03-24 19:14:26.000000000","message":"Done","commit_id":"68016fdb4baaac48ba93f5809ff51e5912e88ac9"},{"author":{"_account_id":11809,"name":"Craig Bryant","email":"craig.bryant@hpe.com","username":"craig-bryant"},"change_message_id":"57258abe4ee02c582a5a8d1f6b7b93c08812fe60","unresolved":false,"context_lines":[{"line_number":646,"context_line":"Results will be returned for elements whose identifiers are greater than the offset."},{"line_number":647,"context_line":""},{"line_number":648,"context_line":"## Limit"},{"line_number":649,"context_line":"The Monasca API has a server-wide default limit that is applied. Users may specifiy their own limit in the URL, but the server-wide limit may not be exceeded. The Monasca server-wide limit is configured in the Monasca API config file as maxQueryLimit. Users may specify a limit up to the maxQueryLimit.  "},{"line_number":650,"context_line":""},{"line_number":651,"context_line":"```"},{"line_number":652,"context_line":"limit\u003d1000 "}],"source_content_type":"text/x-markdown","patch_set":2,"id":"1a6ced46_756994bd","line":649,"updated":"2015-03-24 18:09:14.000000000","message":"trailing space","commit_id":"68016fdb4baaac48ba93f5809ff51e5912e88ac9"},{"author":{"_account_id":12512,"name":"Deklan Dieterly","email":"deklan.dieterly@hpe.com","username":"deklan"},"change_message_id":"77d38fcbc86dd5716b12e73519653cac3c282f08","unresolved":false,"context_lines":[{"line_number":646,"context_line":"Results will be returned for elements whose identifiers are greater than the offset."},{"line_number":647,"context_line":""},{"line_number":648,"context_line":"## Limit"},{"line_number":649,"context_line":"The Monasca API has a server-wide default limit that is applied. Users may specifiy their own limit in the URL, but the server-wide limit may not be exceeded. The Monasca server-wide limit is configured in the Monasca API config file as maxQueryLimit. Users may specify a limit up to the maxQueryLimit.  "},{"line_number":650,"context_line":""},{"line_number":651,"context_line":"```"},{"line_number":652,"context_line":"limit\u003d1000 "}],"source_content_type":"text/x-markdown","patch_set":2,"id":"1a6ced46_b87861f3","line":649,"in_reply_to":"1a6ced46_756994bd","updated":"2015-03-24 19:14:26.000000000","message":"Done","commit_id":"68016fdb4baaac48ba93f5809ff51e5912e88ac9"},{"author":{"_account_id":11809,"name":"Craig Bryant","email":"craig.bryant@hpe.com","username":"craig-bryant"},"change_message_id":"57258abe4ee02c582a5a8d1f6b7b93c08812fe60","unresolved":false,"context_lines":[{"line_number":649,"context_line":"The Monasca API has a server-wide default limit that is applied. Users may specifiy their own limit in the URL, but the server-wide limit may not be exceeded. The Monasca server-wide limit is configured in the Monasca API config file as maxQueryLimit. Users may specify a limit up to the maxQueryLimit.  "},{"line_number":650,"context_line":""},{"line_number":651,"context_line":"```"},{"line_number":652,"context_line":"limit\u003d1000 "},{"line_number":653,"context_line":""},{"line_number":654,"context_line":"```"},{"line_number":655,"context_line":""}],"source_content_type":"text/x-markdown","patch_set":2,"id":"1a6ced46_d5b5e831","line":652,"updated":"2015-03-24 18:09:14.000000000","message":"trailing space","commit_id":"68016fdb4baaac48ba93f5809ff51e5912e88ac9"},{"author":{"_account_id":12512,"name":"Deklan Dieterly","email":"deklan.dieterly@hpe.com","username":"deklan"},"change_message_id":"77d38fcbc86dd5716b12e73519653cac3c282f08","unresolved":false,"context_lines":[{"line_number":649,"context_line":"The Monasca API has a server-wide default limit that is applied. Users may specifiy their own limit in the URL, but the server-wide limit may not be exceeded. The Monasca server-wide limit is configured in the Monasca API config file as maxQueryLimit. Users may specify a limit up to the maxQueryLimit.  "},{"line_number":650,"context_line":""},{"line_number":651,"context_line":"```"},{"line_number":652,"context_line":"limit\u003d1000 "},{"line_number":653,"context_line":""},{"line_number":654,"context_line":"```"},{"line_number":655,"context_line":""}],"source_content_type":"text/x-markdown","patch_set":2,"id":"1a6ced46_d8735d13","line":652,"in_reply_to":"1a6ced46_d5b5e831","updated":"2015-03-24 19:14:26.000000000","message":"Done","commit_id":"68016fdb4baaac48ba93f5809ff51e5912e88ac9"},{"author":{"_account_id":11809,"name":"Craig Bryant","email":"craig.bryant@hpe.com","username":"craig-bryant"},"change_message_id":"57258abe4ee02c582a5a8d1f6b7b93c08812fe60","unresolved":false,"context_lines":[{"line_number":688,"context_line":"* 200 - OK"},{"line_number":689,"context_line":""},{"line_number":690,"context_line":"#### Response Body"},{"line_number":691,"context_line":"Returns a JSON object with an \u0027elements\u0027 array of supported versions."},{"line_number":692,"context_line":""},{"line_number":693,"context_line":"#### Response Examples"},{"line_number":694,"context_line":"```"}],"source_content_type":"text/x-markdown","patch_set":2,"id":"1a6ced46_55cf38b0","line":691,"updated":"2015-03-24 18:09:14.000000000","message":"It also has a links section.","commit_id":"68016fdb4baaac48ba93f5809ff51e5912e88ac9"},{"author":{"_account_id":12512,"name":"Deklan Dieterly","email":"deklan.dieterly@hpe.com","username":"deklan"},"change_message_id":"2dfce3720844ac1dcb171f8454d43cc4cf01e921","unresolved":false,"context_lines":[{"line_number":688,"context_line":"* 200 - OK"},{"line_number":689,"context_line":""},{"line_number":690,"context_line":"#### Response Body"},{"line_number":691,"context_line":"Returns a JSON object with an \u0027elements\u0027 array of supported versions."},{"line_number":692,"context_line":""},{"line_number":693,"context_line":"#### Response Examples"},{"line_number":694,"context_line":"```"}],"source_content_type":"text/x-markdown","patch_set":2,"id":"1a6ced46_2968a5f4","line":691,"in_reply_to":"1a6ced46_55cf38b0","updated":"2015-03-24 20:14:20.000000000","message":"Done","commit_id":"68016fdb4baaac48ba93f5809ff51e5912e88ac9"},{"author":{"_account_id":11809,"name":"Craig Bryant","email":"craig.bryant@hpe.com","username":"craig-bryant"},"change_message_id":"57258abe4ee02c582a5a8d1f6b7b93c08812fe60","unresolved":false,"context_lines":[{"line_number":999,"context_line":""},{"line_number":1000,"context_line":"#### Response Body"},{"line_number":1001,"context_line":"Returns a JSON object with an \u0027elements\u0027 array of measurements objects for each unique metric with the following fields:"},{"line_number":1002,"context_line":" "},{"line_number":1003,"context_line":"* name (string(255)) - A name of a metric."},{"line_number":1004,"context_line":"* dimensions ({string(255): string(255)}) - The dimensions of a metric."},{"line_number":1005,"context_line":"* columns (array[string]) - An array of column names corresponding to the columns in measurements."}],"source_content_type":"text/x-markdown","patch_set":2,"id":"1a6ced46_754c3443","line":1002,"updated":"2015-03-24 18:09:14.000000000","message":"trailing space","commit_id":"68016fdb4baaac48ba93f5809ff51e5912e88ac9"},{"author":{"_account_id":12512,"name":"Deklan Dieterly","email":"deklan.dieterly@hpe.com","username":"deklan"},"change_message_id":"77d38fcbc86dd5716b12e73519653cac3c282f08","unresolved":false,"context_lines":[{"line_number":999,"context_line":""},{"line_number":1000,"context_line":"#### Response Body"},{"line_number":1001,"context_line":"Returns a JSON object with an \u0027elements\u0027 array of measurements objects for each unique metric with the following fields:"},{"line_number":1002,"context_line":" "},{"line_number":1003,"context_line":"* name (string(255)) - A name of a metric."},{"line_number":1004,"context_line":"* dimensions ({string(255): string(255)}) - The dimensions of a metric."},{"line_number":1005,"context_line":"* columns (array[string]) - An array of column names corresponding to the columns in measurements."}],"source_content_type":"text/x-markdown","patch_set":2,"id":"1a6ced46_d8f8bd4b","line":1002,"in_reply_to":"1a6ced46_754c3443","updated":"2015-03-24 19:14:26.000000000","message":"Done","commit_id":"68016fdb4baaac48ba93f5809ff51e5912e88ac9"},{"author":{"_account_id":14273,"name":"Joe Keen","email":"joe.keen@hpe.com","username":"jkeen"},"change_message_id":"cafefdd9592a324e599d705fe4c409ce540983ba","unresolved":false,"context_lines":[{"line_number":607,"context_line":"For example:"},{"line_number":608,"context_line":""},{"line_number":609,"context_line":"```"},{"line_number":610,"context_line":"\"http://192.168.10.4:8080/v2.0/metrics/measurements?offset\u003d2015-03-03T05%3A21%3A55Z\u0026limit\u003d1000\u0026name\u003dcpu.system_perc\u0026dimensions\u003dhostname%3Adevstack\u0026start_time\u003d2014-07-18T03%3A00%3A00Z\u0026limit\u003d1000\""},{"line_number":611,"context_line":""},{"line_number":612,"context_line":"```"},{"line_number":613,"context_line":""}],"source_content_type":"text/x-markdown","patch_set":3,"id":"1a6ced46_deb50532","line":610,"updated":"2015-03-24 20:07:03.000000000","message":"Is limit supposed to be in there twice?","commit_id":"4aa57c39a91257e4a3f77853eff602b4a71dff0b"},{"author":{"_account_id":14273,"name":"Joe Keen","email":"joe.keen@hpe.com","username":"jkeen"},"change_message_id":"cafefdd9592a324e599d705fe4c409ce540983ba","unresolved":false,"context_lines":[{"line_number":613,"context_line":""},{"line_number":614,"context_line":"Results sets that would otherwise return more results if there had not been a limit will include a next link with the offset prepopulated. The user only need use the next link to get the next set of results."},{"line_number":615,"context_line":""},{"line_number":616,"context_line":"If no limit is specified in the request URL, then a server-wide configurable limit is applied."},{"line_number":617,"context_line":""},{"line_number":618,"context_line":""},{"line_number":619,"context_line":"## Offset"}],"source_content_type":"text/x-markdown","patch_set":3,"id":"1a6ced46_492241a5","line":616,"updated":"2015-03-24 20:07:03.000000000","message":"Is there still a next link if we have no limit set and just use the server specified limit?","commit_id":"4aa57c39a91257e4a3f77853eff602b4a71dff0b"},{"author":{"_account_id":14273,"name":"Joe Keen","email":"joe.keen@hpe.com","username":"jkeen"},"change_message_id":"cafefdd9592a324e599d705fe4c409ce540983ba","unresolved":false,"context_lines":[{"line_number":639,"context_line":"```"},{"line_number":640,"context_line":"offset\u003d2104-01-01T00:00:01Z"},{"line_number":641,"context_line":""},{"line_number":642,"context_line":"```"},{"line_number":643,"context_line":""},{"line_number":644,"context_line":"Different resources use different offset types because of the internal implementation of different resources depends on different types of mechanisms for indexing and identifying resources. The type and form of the offsets for each resource can be determined by referring to the examples in each resource section below."},{"line_number":645,"context_line":""}],"source_content_type":"text/x-markdown","patch_set":3,"id":"1a6ced46_c9ae3185","line":642,"updated":"2015-03-24 20:07:03.000000000","message":"Further down you specify the \"types\" of offsets available for certain data.  Is there any spec for valid offset configuration for those?  For instance right now a timestamp offset can meet ISO-8601 format.  Are there any other valid formats for it?","commit_id":"4aa57c39a91257e4a3f77853eff602b4a71dff0b"}]}
