)]}'
{"documentation/monasca-log-api-spec.md":[{"author":{"_account_id":14826,"name":"Mark Goddard","email":"markgoddard86@gmail.com","username":"mgoddard"},"change_message_id":"5edb080b8d596f47f70481fb5fcb816beab3836d","unresolved":false,"context_lines":[{"line_number":83,"context_line":"#### Response Body"},{"line_number":84,"context_line":"This request does not return a response body."},{"line_number":85,"context_line":""},{"line_number":86,"context_line":"# Logs Query"},{"line_number":87,"context_line":"Operations for accessing logs."},{"line_number":88,"context_line":""},{"line_number":89,"context_line":"## List logs"}],"source_content_type":"text/x-markdown","patch_set":1,"id":"fa31d9ce_df0aa389","line":86,"updated":"2017-02-14 14:03:32.000000000","message":"Could keep this under the top level logs section - you\u0027re using the same resources just with different methods.\n\nIf this is done the logs section paragraph would need extending to include queries.","commit_id":"7fda1547c6440e72a39acfd91df82f172c2069b7"},{"author":{"_account_id":16222,"name":"witek","email":"witold.bedyk@suse.com","username":"witek"},"change_message_id":"dbbe6e4eead99137b52563f512db57ad8cec63e5","unresolved":false,"context_lines":[{"line_number":91,"context_line":""},{"line_number":92,"context_line":"    Note that this API is in development, and is not currently implemented."},{"line_number":93,"context_line":""},{"line_number":94,"context_line":"This interface can used to obtain log entries for a time range, based on matching a set of exact dimension values. Entries will be returned in descending timestamp order (newest first). The log entries returned by this API will not necessarily be identical to those POST-ed to the service, as the data returned will have been subjected to deployment-specific transformation stages (i.e. the \"monasca-log-transform\" service)."},{"line_number":95,"context_line":""},{"line_number":96,"context_line":"### GET /v3.0/logs/list"},{"line_number":97,"context_line":""}],"source_content_type":"text/x-markdown","patch_set":1,"id":"fa31d9ce_90af6a93","line":94,"range":{"start_line":94,"start_character":0,"end_line":94,"end_character":15},"updated":"2017-02-13 16:45:31.000000000","message":"Please wrap the lines.","commit_id":"7fda1547c6440e72a39acfd91df82f172c2069b7"},{"author":{"_account_id":16222,"name":"witek","email":"witold.bedyk@suse.com","username":"witek"},"change_message_id":"dbbe6e4eead99137b52563f512db57ad8cec63e5","unresolved":false,"context_lines":[{"line_number":93,"context_line":""},{"line_number":94,"context_line":"This interface can used to obtain log entries for a time range, based on matching a set of exact dimension values. Entries will be returned in descending timestamp order (newest first). The log entries returned by this API will not necessarily be identical to those POST-ed to the service, as the data returned will have been subjected to deployment-specific transformation stages (i.e. the \"monasca-log-transform\" service)."},{"line_number":95,"context_line":""},{"line_number":96,"context_line":"### GET /v3.0/logs/list"},{"line_number":97,"context_line":""},{"line_number":98,"context_line":"#### Headers"},{"line_number":99,"context_line":"* X-Auth-Token (string, required) - Keystone auth token"}],"source_content_type":"text/x-markdown","patch_set":1,"id":"fa31d9ce_76e82eb5","line":96,"range":{"start_line":96,"start_character":4,"end_line":96,"end_character":23},"updated":"2017-02-13 16:45:31.000000000","message":"I would prefer simply:\n\n GET /v3.0/logs","commit_id":"7fda1547c6440e72a39acfd91df82f172c2069b7"},{"author":{"_account_id":14826,"name":"Mark Goddard","email":"markgoddard86@gmail.com","username":"mgoddard"},"change_message_id":"5edb080b8d596f47f70481fb5fcb816beab3836d","unresolved":false,"context_lines":[{"line_number":93,"context_line":""},{"line_number":94,"context_line":"This interface can used to obtain log entries for a time range, based on matching a set of exact dimension values. Entries will be returned in descending timestamp order (newest first). The log entries returned by this API will not necessarily be identical to those POST-ed to the service, as the data returned will have been subjected to deployment-specific transformation stages (i.e. the \"monasca-log-transform\" service)."},{"line_number":95,"context_line":""},{"line_number":96,"context_line":"### GET /v3.0/logs/list"},{"line_number":97,"context_line":""},{"line_number":98,"context_line":"#### Headers"},{"line_number":99,"context_line":"* X-Auth-Token (string, required) - Keystone auth token"}],"source_content_type":"text/x-markdown","patch_set":1,"id":"fa31d9ce_3fe9ffe6","line":96,"range":{"start_line":96,"start_character":4,"end_line":96,"end_character":23},"in_reply_to":"fa31d9ce_76e82eb5","updated":"2017-02-14 14:03:32.000000000","message":"Agreed, /v3.0/logs is more \u0027RESTful\u0027 - no verbs.","commit_id":"7fda1547c6440e72a39acfd91df82f172c2069b7"},{"author":{"_account_id":16222,"name":"witek","email":"witold.bedyk@suse.com","username":"witek"},"change_message_id":"dbbe6e4eead99137b52563f512db57ad8cec63e5","unresolved":false,"context_lines":[{"line_number":103,"context_line":"None."},{"line_number":104,"context_line":""},{"line_number":105,"context_line":"#### Query Parameters"},{"line_number":106,"context_line":"* tenant_id (string, optional, restricted) - Tenant ID from which to get logs from. This parameter can be used to get logs from a tenant other than the tenant the request auth token is scoped to. Usage of this query parameter is restricted to users with the monasca admin role, as defined in the monasca-log-api configuration file, which defaults to `monasca-admin`."},{"line_number":107,"context_line":"* dimensions (string, optional) - A dictionary to filter logs by specified as a comma separated array of (key, value) pairs as `key1:value1,key2:value2, ...`, multiple values for a key may be specified as `key1:value1|value2|...,key2:value4,...`."},{"line_number":108,"context_line":"* start_time (string, required) - The start time in ISO 8601 combined date and time format in UTC."},{"line_number":109,"context_line":"* end_time (string, optional) - The end time in ISO 8601 combined date and time format in UTC."}],"source_content_type":"text/x-markdown","patch_set":1,"id":"fa31d9ce_769aee64","line":106,"range":{"start_line":106,"start_character":0,"end_line":106,"end_character":17},"updated":"2017-02-13 16:45:31.000000000","message":"Line wrapping.","commit_id":"7fda1547c6440e72a39acfd91df82f172c2069b7"},{"author":{"_account_id":16222,"name":"witek","email":"witold.bedyk@suse.com","username":"witek"},"change_message_id":"dbbe6e4eead99137b52563f512db57ad8cec63e5","unresolved":false,"context_lines":[{"line_number":105,"context_line":"#### Query Parameters"},{"line_number":106,"context_line":"* tenant_id (string, optional, restricted) - Tenant ID from which to get logs from. This parameter can be used to get logs from a tenant other than the tenant the request auth token is scoped to. Usage of this query parameter is restricted to users with the monasca admin role, as defined in the monasca-log-api configuration file, which defaults to `monasca-admin`."},{"line_number":107,"context_line":"* dimensions (string, optional) - A dictionary to filter logs by specified as a comma separated array of (key, value) pairs as `key1:value1,key2:value2, ...`, multiple values for a key may be specified as `key1:value1|value2|...,key2:value4,...`."},{"line_number":108,"context_line":"* start_time (string, required) - The start time in ISO 8601 combined date and time format in UTC."},{"line_number":109,"context_line":"* end_time (string, optional) - The end time in ISO 8601 combined date and time format in UTC."},{"line_number":110,"context_line":"* offset (timestamp, optional)"},{"line_number":111,"context_line":"* limit (integer, optional)"}],"source_content_type":"text/x-markdown","patch_set":1,"id":"fa31d9ce_91392c44","line":108,"range":{"start_line":108,"start_character":22,"end_line":108,"end_character":30},"updated":"2017-02-13 16:45:31.000000000","message":"I think I would make it optional as well.","commit_id":"7fda1547c6440e72a39acfd91df82f172c2069b7"},{"author":{"_account_id":16222,"name":"witek","email":"witold.bedyk@suse.com","username":"witek"},"change_message_id":"dbbe6e4eead99137b52563f512db57ad8cec63e5","unresolved":false,"context_lines":[{"line_number":107,"context_line":"* dimensions (string, optional) - A dictionary to filter logs by specified as a comma separated array of (key, value) pairs as `key1:value1,key2:value2, ...`, multiple values for a key may be specified as `key1:value1|value2|...,key2:value4,...`."},{"line_number":108,"context_line":"* start_time (string, required) - The start time in ISO 8601 combined date and time format in UTC."},{"line_number":109,"context_line":"* end_time (string, optional) - The end time in ISO 8601 combined date and time format in UTC."},{"line_number":110,"context_line":"* offset (timestamp, optional)"},{"line_number":111,"context_line":"* limit (integer, optional)"},{"line_number":112,"context_line":""},{"line_number":113,"context_line":"#### Request Body"}],"source_content_type":"text/x-markdown","patch_set":1,"id":"fa31d9ce_364b1689","line":110,"range":{"start_line":110,"start_character":0,"end_line":110,"end_character":30},"updated":"2017-02-13 16:45:31.000000000","message":"Shouldn\u0027t this be an integer? It corresponds to \u0027from\u0027 in ES query language.","commit_id":"7fda1547c6440e72a39acfd91df82f172c2069b7"},{"author":{"_account_id":16222,"name":"witek","email":"witold.bedyk@suse.com","username":"witek"},"change_message_id":"dbbe6e4eead99137b52563f512db57ad8cec63e5","unresolved":false,"context_lines":[{"line_number":108,"context_line":"* start_time (string, required) - The start time in ISO 8601 combined date and time format in UTC."},{"line_number":109,"context_line":"* end_time (string, optional) - The end time in ISO 8601 combined date and time format in UTC."},{"line_number":110,"context_line":"* offset (timestamp, optional)"},{"line_number":111,"context_line":"* limit (integer, optional)"},{"line_number":112,"context_line":""},{"line_number":113,"context_line":"#### Request Body"},{"line_number":114,"context_line":"None."}],"source_content_type":"text/x-markdown","patch_set":1,"id":"fa31d9ce_112c5caa","line":111,"range":{"start_line":111,"start_character":2,"end_line":111,"end_character":7},"updated":"2017-02-13 16:45:31.000000000","message":"Defaults to 10 in ES.","commit_id":"7fda1547c6440e72a39acfd91df82f172c2069b7"},{"author":{"_account_id":16168,"name":"Tomasz Trębski","email":"kornicameister@gmail.com","username":"trebskit"},"change_message_id":"b9c5031d8e19811b5d5068af34f198b30390fd89","unresolved":false,"context_lines":[{"line_number":93,"context_line":""},{"line_number":94,"context_line":"This interface can used to obtain log entries for a time range, based on"},{"line_number":95,"context_line":"matching a set of exact dimension values. Entries will be returned in descending"},{"line_number":96,"context_line":"timestamp order (newest first). The log entries returned by this API will not"},{"line_number":97,"context_line":"necessarily be identical to those POST-ed to the service, as the data returned"},{"line_number":98,"context_line":"will have been subjected to deployment-specific transformation stages (i.e. the"},{"line_number":99,"context_line":"\"monasca-log-transform\" service)."}],"source_content_type":"text/x-markdown","patch_set":2,"id":"fa31d9ce_7d8f0d2a","line":96,"updated":"2017-02-14 09:21:36.000000000","message":"So we won\u0027t support order by ?","commit_id":"0ac4af5c5b87f09048c0ceaefafcea8ab7d2f89f"},{"author":{"_account_id":24533,"name":"Steve Simpson","email":"steve@stackhpc.com","username":"stevejims"},"change_message_id":"4832bd6321d427f1e7a5d1429c7e4878e46d58dd","unresolved":false,"context_lines":[{"line_number":93,"context_line":""},{"line_number":94,"context_line":"This interface can used to obtain log entries for a time range, based on"},{"line_number":95,"context_line":"matching a set of exact dimension values. Entries will be returned in descending"},{"line_number":96,"context_line":"timestamp order (newest first). The log entries returned by this API will not"},{"line_number":97,"context_line":"necessarily be identical to those POST-ed to the service, as the data returned"},{"line_number":98,"context_line":"will have been subjected to deployment-specific transformation stages (i.e. the"},{"line_number":99,"context_line":"\"monasca-log-transform\" service)."}],"source_content_type":"text/x-markdown","patch_set":2,"id":"fa31d9ce_962f3887","line":96,"in_reply_to":"fa31d9ce_037f8b15","updated":"2017-02-14 12:21:58.000000000","message":"Done","commit_id":"0ac4af5c5b87f09048c0ceaefafcea8ab7d2f89f"},{"author":{"_account_id":24533,"name":"Steve Simpson","email":"steve@stackhpc.com","username":"stevejims"},"change_message_id":"42add8d42b2f750f9d75ada992af7343782c7ff5","unresolved":false,"context_lines":[{"line_number":93,"context_line":""},{"line_number":94,"context_line":"This interface can used to obtain log entries for a time range, based on"},{"line_number":95,"context_line":"matching a set of exact dimension values. Entries will be returned in descending"},{"line_number":96,"context_line":"timestamp order (newest first). The log entries returned by this API will not"},{"line_number":97,"context_line":"necessarily be identical to those POST-ed to the service, as the data returned"},{"line_number":98,"context_line":"will have been subjected to deployment-specific transformation stages (i.e. the"},{"line_number":99,"context_line":"\"monasca-log-transform\" service)."}],"source_content_type":"text/x-markdown","patch_set":2,"id":"fa31d9ce_037f8b15","line":96,"in_reply_to":"fa31d9ce_08a6caad","updated":"2017-02-14 11:16:51.000000000","message":"Sounds good - I\u0027ll work on adding this now.","commit_id":"0ac4af5c5b87f09048c0ceaefafcea8ab7d2f89f"},{"author":{"_account_id":24533,"name":"Steve Simpson","email":"steve@stackhpc.com","username":"stevejims"},"change_message_id":"7b57b0857168cdf00175413e673e1d89eb60ae7a","unresolved":false,"context_lines":[{"line_number":93,"context_line":""},{"line_number":94,"context_line":"This interface can used to obtain log entries for a time range, based on"},{"line_number":95,"context_line":"matching a set of exact dimension values. Entries will be returned in descending"},{"line_number":96,"context_line":"timestamp order (newest first). The log entries returned by this API will not"},{"line_number":97,"context_line":"necessarily be identical to those POST-ed to the service, as the data returned"},{"line_number":98,"context_line":"will have been subjected to deployment-specific transformation stages (i.e. the"},{"line_number":99,"context_line":"\"monasca-log-transform\" service)."}],"source_content_type":"text/x-markdown","patch_set":2,"id":"fa31d9ce_c5973b38","line":96,"in_reply_to":"fa31d9ce_7d8f0d2a","updated":"2017-02-14 10:28:35.000000000","message":"Happy to add a provision for this - would this be a simple selection of asc/desc for the timestamp, e.g.\n\n\u0026order_by\u003dasc\n\u0026order_by\u003ddesc\n\nor based in dimension values also? e.g.\n\n\u0026order_by\u003dtimestamp:asc,hostname:desc","commit_id":"0ac4af5c5b87f09048c0ceaefafcea8ab7d2f89f"},{"author":{"_account_id":16168,"name":"Tomasz Trębski","email":"kornicameister@gmail.com","username":"trebskit"},"change_message_id":"900dadc692ca2fd2c4649fd35a8df363d294cf7d","unresolved":false,"context_lines":[{"line_number":93,"context_line":""},{"line_number":94,"context_line":"This interface can used to obtain log entries for a time range, based on"},{"line_number":95,"context_line":"matching a set of exact dimension values. Entries will be returned in descending"},{"line_number":96,"context_line":"timestamp order (newest first). The log entries returned by this API will not"},{"line_number":97,"context_line":"necessarily be identical to those POST-ed to the service, as the data returned"},{"line_number":98,"context_line":"will have been subjected to deployment-specific transformation stages (i.e. the"},{"line_number":99,"context_line":"\"monasca-log-transform\" service)."}],"source_content_type":"text/x-markdown","patch_set":2,"id":"fa31d9ce_08a6caad","line":96,"in_reply_to":"fa31d9ce_c5973b38","updated":"2017-02-14 10:50:44.000000000","message":"Well, metric API supports ordering for dimensions names and dimensions value from what I know, so I guess we should be in the same spot for log-query API.\n\nAnyway, I think my recent comment was not too accurate.\nThe param should be called sort_by for affecting the order of the result where timestamp and some order would be implied by default (IMHO) + we would allow to sort on different parameters like dimensions.","commit_id":"0ac4af5c5b87f09048c0ceaefafcea8ab7d2f89f"},{"author":{"_account_id":16168,"name":"Tomasz Trębski","email":"kornicameister@gmail.com","username":"trebskit"},"change_message_id":"b9c5031d8e19811b5d5068af34f198b30390fd89","unresolved":false,"context_lines":[{"line_number":108,"context_line":"None."},{"line_number":109,"context_line":""},{"line_number":110,"context_line":"#### Query Parameters"},{"line_number":111,"context_line":"* tenant_id (string, optional, restricted) - Tenant ID from which to get logs"},{"line_number":112,"context_line":"from. This parameter can be used to get logs from a tenant other than the tenant"},{"line_number":113,"context_line":"the request auth token is scoped to. Usage of this query parameter is restricted"},{"line_number":114,"context_line":"to users with the monasca admin role, as defined in the monasca-log-api"}],"source_content_type":"text/x-markdown","patch_set":2,"id":"fa31d9ce_7d0b8d8e","line":111,"updated":"2017-02-14 09:21:36.000000000","message":"Won\u0027t it be retrieved from the token ? You send token, do authorize and get project_id (a.k.a. tenant_id) ? Seems odd to send in query params once again, right ?","commit_id":"0ac4af5c5b87f09048c0ceaefafcea8ab7d2f89f"},{"author":{"_account_id":24533,"name":"Steve Simpson","email":"steve@stackhpc.com","username":"stevejims"},"change_message_id":"42add8d42b2f750f9d75ada992af7343782c7ff5","unresolved":false,"context_lines":[{"line_number":108,"context_line":"None."},{"line_number":109,"context_line":""},{"line_number":110,"context_line":"#### Query Parameters"},{"line_number":111,"context_line":"* tenant_id (string, optional, restricted) - Tenant ID from which to get logs"},{"line_number":112,"context_line":"from. This parameter can be used to get logs from a tenant other than the tenant"},{"line_number":113,"context_line":"the request auth token is scoped to. Usage of this query parameter is restricted"},{"line_number":114,"context_line":"to users with the monasca admin role, as defined in the monasca-log-api"}],"source_content_type":"text/x-markdown","patch_set":2,"id":"fa31d9ce_c3973338","line":111,"in_reply_to":"fa31d9ce_28db8eed","updated":"2017-02-14 11:16:51.000000000","message":"Done","commit_id":"0ac4af5c5b87f09048c0ceaefafcea8ab7d2f89f"},{"author":{"_account_id":16168,"name":"Tomasz Trębski","email":"kornicameister@gmail.com","username":"trebskit"},"change_message_id":"900dadc692ca2fd2c4649fd35a8df363d294cf7d","unresolved":false,"context_lines":[{"line_number":108,"context_line":"None."},{"line_number":109,"context_line":""},{"line_number":110,"context_line":"#### Query Parameters"},{"line_number":111,"context_line":"* tenant_id (string, optional, restricted) - Tenant ID from which to get logs"},{"line_number":112,"context_line":"from. This parameter can be used to get logs from a tenant other than the tenant"},{"line_number":113,"context_line":"the request auth token is scoped to. Usage of this query parameter is restricted"},{"line_number":114,"context_line":"to users with the monasca admin role, as defined in the monasca-log-api"}],"source_content_type":"text/x-markdown","patch_set":2,"id":"fa31d9ce_28db8eed","line":111,"in_reply_to":"fa31d9ce_6545afb1","updated":"2017-02-14 10:50:44.000000000","message":"Ahh, I wanted to see how metrics API does things here. Well, my prio here is to make this new resources as much predictable as possible meaning to make it as similar as possible to metric API. I mean we will surely return different kind of data but language used to do so should be identical to metric API.","commit_id":"0ac4af5c5b87f09048c0ceaefafcea8ab7d2f89f"},{"author":{"_account_id":24533,"name":"Steve Simpson","email":"steve@stackhpc.com","username":"stevejims"},"change_message_id":"7b57b0857168cdf00175413e673e1d89eb60ae7a","unresolved":false,"context_lines":[{"line_number":108,"context_line":"None."},{"line_number":109,"context_line":""},{"line_number":110,"context_line":"#### Query Parameters"},{"line_number":111,"context_line":"* tenant_id (string, optional, restricted) - Tenant ID from which to get logs"},{"line_number":112,"context_line":"from. This parameter can be used to get logs from a tenant other than the tenant"},{"line_number":113,"context_line":"the request auth token is scoped to. Usage of this query parameter is restricted"},{"line_number":114,"context_line":"to users with the monasca admin role, as defined in the monasca-log-api"}],"source_content_type":"text/x-markdown","patch_set":2,"id":"fa31d9ce_6545afb1","line":111,"in_reply_to":"fa31d9ce_7d0b8d8e","updated":"2017-02-14 10:28:35.000000000","message":"Yes so this is why it is optional - if it is not provided then it assumes the project_id of the token. I am happy to remove the field entirely to simplify things.\n\nThe the only reason it would be specified is to allow users with necessary powers retrieve logs from other projects (as you can with the metrics API).","commit_id":"0ac4af5c5b87f09048c0ceaefafcea8ab7d2f89f"},{"author":{"_account_id":16168,"name":"Tomasz Trębski","email":"kornicameister@gmail.com","username":"trebskit"},"change_message_id":"900dadc692ca2fd2c4649fd35a8df363d294cf7d","unresolved":false,"context_lines":[{"line_number":117,"context_line":"comma separated array of (key, value) pairs as `key1:value1,key2:value2, ...`,"},{"line_number":118,"context_line":"multiple values for a key may be specified as"},{"line_number":119,"context_line":"`key1:value1|value2|...,key2:value4,...`."},{"line_number":120,"context_line":"* start_time (string, optional) - The start time in ISO 8601 combined date and"},{"line_number":121,"context_line":"time format in UTC."},{"line_number":122,"context_line":"* end_time (string, optional) - The end time in ISO 8601 combined date and time"},{"line_number":123,"context_line":"format in UTC."}],"source_content_type":"text/x-markdown","patch_set":2,"id":"fa31d9ce_489282f7","line":120,"updated":"2017-02-14 10:50:44.000000000","message":"shouldn\u0027t those be timestamps as well ? :|","commit_id":"0ac4af5c5b87f09048c0ceaefafcea8ab7d2f89f"},{"author":{"_account_id":24533,"name":"Steve Simpson","email":"steve@stackhpc.com","username":"stevejims"},"change_message_id":"42add8d42b2f750f9d75ada992af7343782c7ff5","unresolved":false,"context_lines":[{"line_number":117,"context_line":"comma separated array of (key, value) pairs as `key1:value1,key2:value2, ...`,"},{"line_number":118,"context_line":"multiple values for a key may be specified as"},{"line_number":119,"context_line":"`key1:value1|value2|...,key2:value4,...`."},{"line_number":120,"context_line":"* start_time (string, optional) - The start time in ISO 8601 combined date and"},{"line_number":121,"context_line":"time format in UTC."},{"line_number":122,"context_line":"* end_time (string, optional) - The end time in ISO 8601 combined date and time"},{"line_number":123,"context_line":"format in UTC."}],"source_content_type":"text/x-markdown","patch_set":2,"id":"fa31d9ce_43da6318","line":120,"in_reply_to":"fa31d9ce_489282f7","updated":"2017-02-14 11:16:51.000000000","message":"Done","commit_id":"0ac4af5c5b87f09048c0ceaefafcea8ab7d2f89f"},{"author":{"_account_id":16168,"name":"Tomasz Trębski","email":"kornicameister@gmail.com","username":"trebskit"},"change_message_id":"900dadc692ca2fd2c4649fd35a8df363d294cf7d","unresolved":false,"context_lines":[{"line_number":121,"context_line":"time format in UTC."},{"line_number":122,"context_line":"* end_time (string, optional) - The end time in ISO 8601 combined date and time"},{"line_number":123,"context_line":"format in UTC."},{"line_number":124,"context_line":"* offset (timestamp, optional)"},{"line_number":125,"context_line":"* limit (integer, optional) - Limit number of logs returned (Default: 10)."},{"line_number":126,"context_line":""},{"line_number":127,"context_line":"#### Request Body"}],"source_content_type":"text/x-markdown","patch_set":2,"id":"fa31d9ce_88be3a63","line":124,"updated":"2017-02-14 10:50:44.000000000","message":"lack of description for offset. Also if offset is given as timestamp how would it differ from start_time ? Essentially, I think you wanted to give power to exclude some n-first results from the set but I think the same you can do by moving start_time ?\n\nYeah, I know might be picky, but I just want to fully understand your intentions :)","commit_id":"0ac4af5c5b87f09048c0ceaefafcea8ab7d2f89f"},{"author":{"_account_id":16168,"name":"Tomasz Trębski","email":"kornicameister@gmail.com","username":"trebskit"},"change_message_id":"def690cd2a5b998a29bbaf702ae5d2ae9957a6a5","unresolved":false,"context_lines":[{"line_number":121,"context_line":"time format in UTC."},{"line_number":122,"context_line":"* end_time (string, optional) - The end time in ISO 8601 combined date and time"},{"line_number":123,"context_line":"format in UTC."},{"line_number":124,"context_line":"* offset (timestamp, optional)"},{"line_number":125,"context_line":"* limit (integer, optional) - Limit number of logs returned (Default: 10)."},{"line_number":126,"context_line":""},{"line_number":127,"context_line":"#### Request Body"}],"source_content_type":"text/x-markdown","patch_set":2,"id":"fa31d9ce_3e1f48b8","line":124,"in_reply_to":"fa31d9ce_2389efc9","updated":"2017-02-14 11:25:53.000000000","message":"See my comment in recent patchsets.","commit_id":"0ac4af5c5b87f09048c0ceaefafcea8ab7d2f89f"},{"author":{"_account_id":24533,"name":"Steve Simpson","email":"steve@stackhpc.com","username":"stevejims"},"change_message_id":"e3f677f73819a321299533d5d6cac7750baa091f","unresolved":false,"context_lines":[{"line_number":121,"context_line":"time format in UTC."},{"line_number":122,"context_line":"* end_time (string, optional) - The end time in ISO 8601 combined date and time"},{"line_number":123,"context_line":"format in UTC."},{"line_number":124,"context_line":"* offset (timestamp, optional)"},{"line_number":125,"context_line":"* limit (integer, optional) - Limit number of logs returned (Default: 10)."},{"line_number":126,"context_line":""},{"line_number":127,"context_line":"#### Request Body"}],"source_content_type":"text/x-markdown","patch_set":2,"id":"fa31d9ce_dea2ac4a","line":124,"in_reply_to":"fa31d9ce_3e1f48b8","updated":"2017-02-14 11:43:21.000000000","message":"Done","commit_id":"0ac4af5c5b87f09048c0ceaefafcea8ab7d2f89f"},{"author":{"_account_id":24533,"name":"Steve Simpson","email":"steve@stackhpc.com","username":"stevejims"},"change_message_id":"42add8d42b2f750f9d75ada992af7343782c7ff5","unresolved":false,"context_lines":[{"line_number":121,"context_line":"time format in UTC."},{"line_number":122,"context_line":"* end_time (string, optional) - The end time in ISO 8601 combined date and time"},{"line_number":123,"context_line":"format in UTC."},{"line_number":124,"context_line":"* offset (timestamp, optional)"},{"line_number":125,"context_line":"* limit (integer, optional) - Limit number of logs returned (Default: 10)."},{"line_number":126,"context_line":""},{"line_number":127,"context_line":"#### Request Body"}],"source_content_type":"text/x-markdown","patch_set":2,"id":"fa31d9ce_2389efc9","line":124,"in_reply_to":"fa31d9ce_88be3a63","updated":"2017-02-14 11:16:51.000000000","message":"So the intention was to avoid issues using an integer offset, when new logs are being written, so I copied the convention which appears to be used throughout the Metrics API:\n\nhttps://github.com/openstack/monasca-api/blob/master/docs/monasca-api-spec.md#query-parameters-6\nhttps://github.com/openstack/monasca-api/blob/master/docs/monasca-api-spec.md#query-parameters-8\nhttps://github.com/openstack/monasca-api/blob/master/docs/monasca-api-spec.md#query-parameters-24\nhttps://github.com/openstack/monasca-api/blob/master/docs/monasca-api-spec.md#query-parameters-29","commit_id":"0ac4af5c5b87f09048c0ceaefafcea8ab7d2f89f"},{"author":{"_account_id":16168,"name":"Tomasz Trębski","email":"kornicameister@gmail.com","username":"trebskit"},"change_message_id":"900dadc692ca2fd2c4649fd35a8df363d294cf7d","unresolved":false,"context_lines":[{"line_number":122,"context_line":"* end_time (string, optional) - The end time in ISO 8601 combined date and time"},{"line_number":123,"context_line":"format in UTC."},{"line_number":124,"context_line":"* offset (timestamp, optional)"},{"line_number":125,"context_line":"* limit (integer, optional) - Limit number of logs returned (Default: 10)."},{"line_number":126,"context_line":""},{"line_number":127,"context_line":"#### Request Body"},{"line_number":128,"context_line":"None."}],"source_content_type":"text/x-markdown","patch_set":2,"id":"fa31d9ce_68f8264a","line":125,"updated":"2017-02-14 10:50:44.000000000","message":"Would you add sort_by here as well.","commit_id":"0ac4af5c5b87f09048c0ceaefafcea8ab7d2f89f"},{"author":{"_account_id":24533,"name":"Steve Simpson","email":"steve@stackhpc.com","username":"stevejims"},"change_message_id":"4832bd6321d427f1e7a5d1429c7e4878e46d58dd","unresolved":false,"context_lines":[{"line_number":122,"context_line":"* end_time (string, optional) - The end time in ISO 8601 combined date and time"},{"line_number":123,"context_line":"format in UTC."},{"line_number":124,"context_line":"* offset (timestamp, optional)"},{"line_number":125,"context_line":"* limit (integer, optional) - Limit number of logs returned (Default: 10)."},{"line_number":126,"context_line":""},{"line_number":127,"context_line":"#### Request Body"},{"line_number":128,"context_line":"None."}],"source_content_type":"text/x-markdown","patch_set":2,"id":"fa31d9ce_3643ec43","line":125,"in_reply_to":"fa31d9ce_68f8264a","updated":"2017-02-14 12:21:58.000000000","message":"Done","commit_id":"0ac4af5c5b87f09048c0ceaefafcea8ab7d2f89f"},{"author":{"_account_id":16168,"name":"Tomasz Trębski","email":"kornicameister@gmail.com","username":"trebskit"},"change_message_id":"b9c5031d8e19811b5d5068af34f198b30390fd89","unresolved":false,"context_lines":[{"line_number":159,"context_line":"            \"href\": \"http://192.168.10.4:8070/v3.0/logs/list?start_time\u003d2015-03-00T00%3A00%3A00Z\u0026dimensions\u003dhostname%3Adevstack\""},{"line_number":160,"context_line":"        },"},{"line_number":161,"context_line":"        {"},{"line_number":162,"context_line":"            \"rel\": \"next\","},{"line_number":163,"context_line":"            \"href\": \"http://192.168.10.4:8070/v3.0/logs/list?offset\u003d2015-03-03T05%3A24%3A55Z\u0026dimensions\u003dhostname%3Adevstack\u0026start_time\u003d2015-03-00T00%3A00%3A00Z\""},{"line_number":164,"context_line":"        }"},{"line_number":165,"context_line":"    ],"}],"source_content_type":"text/x-markdown","patch_set":2,"id":"fa31d9ce_5d2de9fc","line":162,"updated":"2017-02-14 09:21:36.000000000","message":"I\u0027d add prev as well.","commit_id":"0ac4af5c5b87f09048c0ceaefafcea8ab7d2f89f"},{"author":{"_account_id":24533,"name":"Steve Simpson","email":"steve@stackhpc.com","username":"stevejims"},"change_message_id":"7b57b0857168cdf00175413e673e1d89eb60ae7a","unresolved":false,"context_lines":[{"line_number":159,"context_line":"            \"href\": \"http://192.168.10.4:8070/v3.0/logs/list?start_time\u003d2015-03-00T00%3A00%3A00Z\u0026dimensions\u003dhostname%3Adevstack\""},{"line_number":160,"context_line":"        },"},{"line_number":161,"context_line":"        {"},{"line_number":162,"context_line":"            \"rel\": \"next\","},{"line_number":163,"context_line":"            \"href\": \"http://192.168.10.4:8070/v3.0/logs/list?offset\u003d2015-03-03T05%3A24%3A55Z\u0026dimensions\u003dhostname%3Adevstack\u0026start_time\u003d2015-03-00T00%3A00%3A00Z\""},{"line_number":164,"context_line":"        }"},{"line_number":165,"context_line":"    ],"}],"source_content_type":"text/x-markdown","patch_set":2,"id":"fa31d9ce_727d77b0","line":162,"in_reply_to":"fa31d9ce_5d2de9fc","updated":"2017-02-14 10:28:35.000000000","message":"Fixed. Also fixed /logs/list -\u003e /logs.","commit_id":"0ac4af5c5b87f09048c0ceaefafcea8ab7d2f89f"},{"author":{"_account_id":24533,"name":"Steve Simpson","email":"steve@stackhpc.com","username":"stevejims"},"change_message_id":"42add8d42b2f750f9d75ada992af7343782c7ff5","unresolved":false,"context_lines":[{"line_number":159,"context_line":"            \"href\": \"http://192.168.10.4:8070/v3.0/logs/list?start_time\u003d2015-03-00T00%3A00%3A00Z\u0026dimensions\u003dhostname%3Adevstack\""},{"line_number":160,"context_line":"        },"},{"line_number":161,"context_line":"        {"},{"line_number":162,"context_line":"            \"rel\": \"next\","},{"line_number":163,"context_line":"            \"href\": \"http://192.168.10.4:8070/v3.0/logs/list?offset\u003d2015-03-03T05%3A24%3A55Z\u0026dimensions\u003dhostname%3Adevstack\u0026start_time\u003d2015-03-00T00%3A00%3A00Z\""},{"line_number":164,"context_line":"        }"},{"line_number":165,"context_line":"    ],"}],"source_content_type":"text/x-markdown","patch_set":2,"id":"fa31d9ce_e301976b","line":162,"in_reply_to":"fa31d9ce_727d77b0","updated":"2017-02-14 11:16:51.000000000","message":"Done","commit_id":"0ac4af5c5b87f09048c0ceaefafcea8ab7d2f89f"},{"author":{"_account_id":16168,"name":"Tomasz Trębski","email":"kornicameister@gmail.com","username":"trebskit"},"change_message_id":"b9c5031d8e19811b5d5068af34f198b30390fd89","unresolved":false,"context_lines":[{"line_number":168,"context_line":"            \"timestamp\":\"2015-03-03T05:24:55Z\","},{"line_number":169,"context_line":"            \"message\":\"msg1\","},{"line_number":170,"context_line":"            \"dimensions\":{"},{"line_number":171,"context_line":"                \"hostname\":\"devstack\","},{"line_number":172,"context_line":"                \"component\":\"mysql\","},{"line_number":173,"context_line":"                \"path\":\"/var/log/mysql.log\""},{"line_number":174,"context_line":"            }"}],"source_content_type":"text/x-markdown","patch_set":2,"id":"fa31d9ce_3d1cb5c0","line":171,"updated":"2017-02-14 09:21:36.000000000","message":"That part might be problematic, because as far as I remember we do flat log payload just before sending to elasticsearch, which means in database there\u0027s no knowledge about dimensions AFAIK.","commit_id":"0ac4af5c5b87f09048c0ceaefafcea8ab7d2f89f"},{"author":{"_account_id":16168,"name":"Tomasz Trębski","email":"kornicameister@gmail.com","username":"trebskit"},"change_message_id":"8b3f040efb0f7590f76829b49dce29fef2a127b4","unresolved":false,"context_lines":[{"line_number":168,"context_line":"            \"timestamp\":\"2015-03-03T05:24:55Z\","},{"line_number":169,"context_line":"            \"message\":\"msg1\","},{"line_number":170,"context_line":"            \"dimensions\":{"},{"line_number":171,"context_line":"                \"hostname\":\"devstack\","},{"line_number":172,"context_line":"                \"component\":\"mysql\","},{"line_number":173,"context_line":"                \"path\":\"/var/log/mysql.log\""},{"line_number":174,"context_line":"            }"}],"source_content_type":"text/x-markdown","patch_set":2,"id":"ba2be162_df290a8b","line":171,"in_reply_to":"ba2be162_27fa3b43","updated":"2017-03-02 05:09:43.000000000","message":"+1. Let\u0027s go with this approach for the start.","commit_id":"0ac4af5c5b87f09048c0ceaefafcea8ab7d2f89f"},{"author":{"_account_id":24533,"name":"Steve Simpson","email":"steve@stackhpc.com","username":"stevejims"},"change_message_id":"763090f89c066d52e2de9fdda669a245658e6645","unresolved":false,"context_lines":[{"line_number":168,"context_line":"            \"timestamp\":\"2015-03-03T05:24:55Z\","},{"line_number":169,"context_line":"            \"message\":\"msg1\","},{"line_number":170,"context_line":"            \"dimensions\":{"},{"line_number":171,"context_line":"                \"hostname\":\"devstack\","},{"line_number":172,"context_line":"                \"component\":\"mysql\","},{"line_number":173,"context_line":"                \"path\":\"/var/log/mysql.log\""},{"line_number":174,"context_line":"            }"}],"source_content_type":"text/x-markdown","patch_set":2,"id":"ba2be162_27fa3b43","line":171,"in_reply_to":"ba2be162_3c917b9a","updated":"2017-03-01 16:37:18.000000000","message":"Agreed.","commit_id":"0ac4af5c5b87f09048c0ceaefafcea8ab7d2f89f"},{"author":{"_account_id":16168,"name":"Tomasz Trębski","email":"kornicameister@gmail.com","username":"trebskit"},"change_message_id":"900dadc692ca2fd2c4649fd35a8df363d294cf7d","unresolved":false,"context_lines":[{"line_number":168,"context_line":"            \"timestamp\":\"2015-03-03T05:24:55Z\","},{"line_number":169,"context_line":"            \"message\":\"msg1\","},{"line_number":170,"context_line":"            \"dimensions\":{"},{"line_number":171,"context_line":"                \"hostname\":\"devstack\","},{"line_number":172,"context_line":"                \"component\":\"mysql\","},{"line_number":173,"context_line":"                \"path\":\"/var/log/mysql.log\""},{"line_number":174,"context_line":"            }"}],"source_content_type":"text/x-markdown","patch_set":2,"id":"fa31d9ce_a37b1f8b","line":171,"in_reply_to":"fa31d9ce_05fcf3b6","updated":"2017-02-14 10:50:44.000000000","message":"Ok:\n\n1st - well, that\u0027s one option but rather implicit and since clearly, as you presented, you could change persister to save dimensions in un-flattened structure, I\u0027d rather change persister to do so\n\n2nd - nope, that\u0027s totally out of question IMHO. Mostly because it\u0027d require certain knowledge of system to say for 100% what is dimension and what\u0027s not\n\n3rd - not really understand your point here :(","commit_id":"0ac4af5c5b87f09048c0ceaefafcea8ab7d2f89f"},{"author":{"_account_id":24533,"name":"Steve Simpson","email":"steve@stackhpc.com","username":"stevejims"},"change_message_id":"7b57b0857168cdf00175413e673e1d89eb60ae7a","unresolved":false,"context_lines":[{"line_number":168,"context_line":"            \"timestamp\":\"2015-03-03T05:24:55Z\","},{"line_number":169,"context_line":"            \"message\":\"msg1\","},{"line_number":170,"context_line":"            \"dimensions\":{"},{"line_number":171,"context_line":"                \"hostname\":\"devstack\","},{"line_number":172,"context_line":"                \"component\":\"mysql\","},{"line_number":173,"context_line":"                \"path\":\"/var/log/mysql.log\""},{"line_number":174,"context_line":"            }"}],"source_content_type":"text/x-markdown","patch_set":2,"id":"fa31d9ce_05fcf3b6","line":171,"in_reply_to":"fa31d9ce_3d1cb5c0","updated":"2017-02-14 10:28:35.000000000","message":"You\u0027re right. For our deployment I\u0027ve actually changed this to keep all dimensions separate for this reason as e.g. log.dimensions.hostname\n\nThere\u0027s a number of options:\n\n- Because the persister cleans the event structure quite well, we could assume all fields which are not \"@timestamp\", \"message\" or \"creation_time\" are dimensions\n\n- Return the \"flattened\" structure. This would be a shame as I think a \"dimension names\" API would be useful in the future.\n\n- Add a level of hierarchy for dimension storage (as above)","commit_id":"0ac4af5c5b87f09048c0ceaefafcea8ab7d2f89f"},{"author":{"_account_id":24533,"name":"Steve Simpson","email":"steve@stackhpc.com","username":"stevejims"},"change_message_id":"e3f677f73819a321299533d5d6cac7750baa091f","unresolved":false,"context_lines":[{"line_number":168,"context_line":"            \"timestamp\":\"2015-03-03T05:24:55Z\","},{"line_number":169,"context_line":"            \"message\":\"msg1\","},{"line_number":170,"context_line":"            \"dimensions\":{"},{"line_number":171,"context_line":"                \"hostname\":\"devstack\","},{"line_number":172,"context_line":"                \"component\":\"mysql\","},{"line_number":173,"context_line":"                \"path\":\"/var/log/mysql.log\""},{"line_number":174,"context_line":"            }"}],"source_content_type":"text/x-markdown","patch_set":2,"id":"fa31d9ce_d929e638","line":171,"in_reply_to":"fa31d9ce_7e14609f","updated":"2017-02-14 11:43:21.000000000","message":"Yes - issue with existing deployment is unfortunate.\n\nWe could use an Elasticsearch mapping \"multi fields\":\n\nhttps://www.elastic.co/guide/en/elasticsearch/reference/current/multi-fields.html\n\nto store the fields at the top level _and_ separately as e.g. \"hostname.dimension\". This would fit in nicely as we will need \"not_analyzed\" versions of the fields anyway (like how logstash has \".raw\" versions of everything)\n\n  \"string_fields\" : {\n    \"match\" : \"*\",\n    \"match_mapping_type\" : \"string\",\n    \"mapping\" : {\n      \"type\" : \"string\",\n      \"index\" : \"analyzed\",\n      \"omit_norms\" : true,\n      \"fielddata\" : { \"format\" : \"disabled\" },\n      \"fields\" : {\n        \"dimension\" : {\n          \"type\": \"string\",\n          \"index\" : \"not_analyzed\"\n        }\n      } \n    }\n  }","commit_id":"0ac4af5c5b87f09048c0ceaefafcea8ab7d2f89f"},{"author":{"_account_id":24533,"name":"Steve Simpson","email":"steve@stackhpc.com","username":"stevejims"},"change_message_id":"42add8d42b2f750f9d75ada992af7343782c7ff5","unresolved":false,"context_lines":[{"line_number":168,"context_line":"            \"timestamp\":\"2015-03-03T05:24:55Z\","},{"line_number":169,"context_line":"            \"message\":\"msg1\","},{"line_number":170,"context_line":"            \"dimensions\":{"},{"line_number":171,"context_line":"                \"hostname\":\"devstack\","},{"line_number":172,"context_line":"                \"component\":\"mysql\","},{"line_number":173,"context_line":"                \"path\":\"/var/log/mysql.log\""},{"line_number":174,"context_line":"            }"}],"source_content_type":"text/x-markdown","patch_set":2,"id":"fa31d9ce_def62cf8","line":171,"in_reply_to":"fa31d9ce_a37b1f8b","updated":"2017-02-14 11:16:51.000000000","message":"3rd option was to add extra prefix e.g. \"log.dimensions.hostname\"\n\nMy preference would also be to change the persister, so store dimensions explicitly as \"dimensions.hostname\", as this is much more robust than guessing which fields are dimensions. The only problem with this would be existing deployments?","commit_id":"0ac4af5c5b87f09048c0ceaefafcea8ab7d2f89f"},{"author":{"_account_id":16168,"name":"Tomasz Trębski","email":"kornicameister@gmail.com","username":"trebskit"},"change_message_id":"1a2689022f624499027f6993bf61e5b3f254b55f","unresolved":false,"context_lines":[{"line_number":168,"context_line":"            \"timestamp\":\"2015-03-03T05:24:55Z\","},{"line_number":169,"context_line":"            \"message\":\"msg1\","},{"line_number":170,"context_line":"            \"dimensions\":{"},{"line_number":171,"context_line":"                \"hostname\":\"devstack\","},{"line_number":172,"context_line":"                \"component\":\"mysql\","},{"line_number":173,"context_line":"                \"path\":\"/var/log/mysql.log\""},{"line_number":174,"context_line":"            }"}],"source_content_type":"text/x-markdown","patch_set":2,"id":"fa31d9ce_df7aa387","line":171,"in_reply_to":"fa31d9ce_d929e638","updated":"2017-02-14 13:27:56.000000000","message":"That sounds reasonable for me. \nLet\u0027s wait for other to give their votes. Looks like I dominated this review for now ;P","commit_id":"0ac4af5c5b87f09048c0ceaefafcea8ab7d2f89f"},{"author":{"_account_id":16168,"name":"Tomasz Trębski","email":"kornicameister@gmail.com","username":"trebskit"},"change_message_id":"3c06dfe4dc85424310bb33d64ba349765f879b04","unresolved":false,"context_lines":[{"line_number":168,"context_line":"            \"timestamp\":\"2015-03-03T05:24:55Z\","},{"line_number":169,"context_line":"            \"message\":\"msg1\","},{"line_number":170,"context_line":"            \"dimensions\":{"},{"line_number":171,"context_line":"                \"hostname\":\"devstack\","},{"line_number":172,"context_line":"                \"component\":\"mysql\","},{"line_number":173,"context_line":"                \"path\":\"/var/log/mysql.log\""},{"line_number":174,"context_line":"            }"}],"source_content_type":"text/x-markdown","patch_set":2,"id":"fa31d9ce_7e14609f","line":171,"in_reply_to":"fa31d9ce_def62cf8","updated":"2017-02-14 11:25:25.000000000","message":"Ahh, well that might be tricky...it\u0027d be rather odd to start with \u0027legacy\u0027 to guess what is dimension and what is not.\n\nAhh, you killed me with this existing deployment....however that is still the best and most reasonable option for me.","commit_id":"0ac4af5c5b87f09048c0ceaefafcea8ab7d2f89f"},{"author":{"_account_id":16222,"name":"witek","email":"witold.bedyk@suse.com","username":"witek"},"change_message_id":"6546c5f52913d2de0838da0002f1042b8a6d9fa6","unresolved":false,"context_lines":[{"line_number":168,"context_line":"            \"timestamp\":\"2015-03-03T05:24:55Z\","},{"line_number":169,"context_line":"            \"message\":\"msg1\","},{"line_number":170,"context_line":"            \"dimensions\":{"},{"line_number":171,"context_line":"                \"hostname\":\"devstack\","},{"line_number":172,"context_line":"                \"component\":\"mysql\","},{"line_number":173,"context_line":"                \"path\":\"/var/log/mysql.log\""},{"line_number":174,"context_line":"            }"}],"source_content_type":"text/x-markdown","patch_set":2,"id":"ba2be162_3c917b9a","line":171,"in_reply_to":"fa31d9ce_df7aa387","updated":"2017-03-01 12:38:13.000000000","message":"I would tend to introduce hierarchy and define dimensions as not_analyzed fields. We\u0027re probably not interested in full-text search on dimensions.\n\nIn the existing deployments the data would have to be reindexed.","commit_id":"0ac4af5c5b87f09048c0ceaefafcea8ab7d2f89f"},{"author":{"_account_id":16168,"name":"Tomasz Trębski","email":"kornicameister@gmail.com","username":"trebskit"},"change_message_id":"05a69e48c96b2e735e26e70afe654de2617e535f","unresolved":false,"context_lines":[{"line_number":121,"context_line":"time format in UTC."},{"line_number":122,"context_line":"* end_time (timestamp, optional) - The end time in ISO 8601 combined date and time"},{"line_number":123,"context_line":"format in UTC."},{"line_number":124,"context_line":"* offset (timestamp, optional)"},{"line_number":125,"context_line":"* limit (integer, optional) - Limit number of logs returned (Default: 10)."},{"line_number":126,"context_line":""},{"line_number":127,"context_line":"#### Request Body"}],"source_content_type":"text/x-markdown","patch_set":4,"id":"fa31d9ce_7eeb8013","line":124,"updated":"2017-02-14 11:15:06.000000000","message":"i just saw Witek\u0027s comment from PS#1. I think that we can put integer here for this particular resource.\n\nI mean metrics API allows different resources to have different offsets (and even more the same resource if underlying DB is different). So, let\u0027s call this offset and let it be integer and internally in code you can do translation to proper ES query param.","commit_id":"31f2f05799d253cebfdbf91d2afb059a7a4063d7"},{"author":{"_account_id":24533,"name":"Steve Simpson","email":"steve@stackhpc.com","username":"stevejims"},"change_message_id":"a2be43c82667a7d3a1c46383cbe55c2e5e0160ab","unresolved":false,"context_lines":[{"line_number":121,"context_line":"time format in UTC."},{"line_number":122,"context_line":"* end_time (timestamp, optional) - The end time in ISO 8601 combined date and time"},{"line_number":123,"context_line":"format in UTC."},{"line_number":124,"context_line":"* offset (timestamp, optional)"},{"line_number":125,"context_line":"* limit (integer, optional) - Limit number of logs returned (Default: 10)."},{"line_number":126,"context_line":""},{"line_number":127,"context_line":"#### Request Body"}],"source_content_type":"text/x-markdown","patch_set":4,"id":"fa31d9ce_d9e006fd","line":124,"in_reply_to":"fa31d9ce_7eeb8013","updated":"2017-02-14 11:43:59.000000000","message":"Done","commit_id":"31f2f05799d253cebfdbf91d2afb059a7a4063d7"},{"author":{"_account_id":16168,"name":"Tomasz Trębski","email":"kornicameister@gmail.com","username":"trebskit"},"change_message_id":"7ab32be89b39bd70e80df66cf0a011ce5f39c5c1","unresolved":false,"context_lines":[{"line_number":134,"context_line":"#### Request Examples"},{"line_number":135,"context_line":"```"},{"line_number":136,"context_line":"GET /v3.0/logs?dimensions\u003dhostname:devstack\u0026start_time\u003d2015-03-00T00:00:01Z HTTP/1.1"},{"line_number":137,"context_line":"Host: 192.168.10.4:8070"},{"line_number":138,"context_line":"Content-Type: application/json"},{"line_number":139,"context_line":"X-Auth-Token: 2b8882ba2ec44295bf300aecb2caa4f7"},{"line_number":140,"context_line":"Cache-Control: no-cache"}],"source_content_type":"text/x-markdown","patch_set":6,"id":"fa31d9ce_bfea4f0d","line":137,"updated":"2017-02-14 13:29:56.000000000","message":"NIT: Port should be 5607","commit_id":"1193189651f37932b16fb865630dcbb7581fd377"},{"author":{"_account_id":24533,"name":"Steve Simpson","email":"steve@stackhpc.com","username":"stevejims"},"change_message_id":"9f86c58771e265d09a1660d9bf9947d7f6cf9ca9","unresolved":false,"context_lines":[{"line_number":134,"context_line":"#### Request Examples"},{"line_number":135,"context_line":"```"},{"line_number":136,"context_line":"GET /v3.0/logs?dimensions\u003dhostname:devstack\u0026start_time\u003d2015-03-00T00:00:01Z HTTP/1.1"},{"line_number":137,"context_line":"Host: 192.168.10.4:8070"},{"line_number":138,"context_line":"Content-Type: application/json"},{"line_number":139,"context_line":"X-Auth-Token: 2b8882ba2ec44295bf300aecb2caa4f7"},{"line_number":140,"context_line":"Cache-Control: no-cache"}],"source_content_type":"text/x-markdown","patch_set":6,"id":"fa31d9ce_9f710b47","line":137,"in_reply_to":"fa31d9ce_bfea4f0d","updated":"2017-02-14 13:39:26.000000000","message":"Done","commit_id":"1193189651f37932b16fb865630dcbb7581fd377"},{"author":{"_account_id":16168,"name":"Tomasz Trębski","email":"kornicameister@gmail.com","username":"trebskit"},"change_message_id":"7ab32be89b39bd70e80df66cf0a011ce5f39c5c1","unresolved":false,"context_lines":[{"line_number":160,"context_line":"    \"links\": ["},{"line_number":161,"context_line":"        {"},{"line_number":162,"context_line":"            \"rel\": \"prev\","},{"line_number":163,"context_line":"            \"href\": \"http://192.168.10.4:8070/v3.0/logs?start_time\u003d2015-03-00T00%3A00%3A00Z\u0026dimensions\u003dhostname%3Adevstack\""},{"line_number":164,"context_line":"        },"},{"line_number":165,"context_line":"        {"},{"line_number":166,"context_line":"            \"rel\": \"self\","}],"source_content_type":"text/x-markdown","patch_set":6,"id":"fa31d9ce_5f95d384","line":163,"updated":"2017-02-14 13:29:56.000000000","message":"NIT: Port should be 5607 in every link here.","commit_id":"1193189651f37932b16fb865630dcbb7581fd377"},{"author":{"_account_id":24533,"name":"Steve Simpson","email":"steve@stackhpc.com","username":"stevejims"},"change_message_id":"9f86c58771e265d09a1660d9bf9947d7f6cf9ca9","unresolved":false,"context_lines":[{"line_number":160,"context_line":"    \"links\": ["},{"line_number":161,"context_line":"        {"},{"line_number":162,"context_line":"            \"rel\": \"prev\","},{"line_number":163,"context_line":"            \"href\": \"http://192.168.10.4:8070/v3.0/logs?start_time\u003d2015-03-00T00%3A00%3A00Z\u0026dimensions\u003dhostname%3Adevstack\""},{"line_number":164,"context_line":"        },"},{"line_number":165,"context_line":"        {"},{"line_number":166,"context_line":"            \"rel\": \"self\","}],"source_content_type":"text/x-markdown","patch_set":6,"id":"fa31d9ce_df954333","line":163,"in_reply_to":"fa31d9ce_5f95d384","updated":"2017-02-14 13:39:26.000000000","message":"Done","commit_id":"1193189651f37932b16fb865630dcbb7581fd377"},{"author":{"_account_id":14517,"name":"Ryan Brandt","email":"ryan.brandt@hpe.com","username":"ryan-brandt"},"change_message_id":"3b3c9431678a3a9de7b2a4d8aee27260716ceaeb","unresolved":false,"context_lines":[{"line_number":116,"context_line":"* dimensions (string, optional) - A dictionary to filter logs by specified as a"},{"line_number":117,"context_line":"comma separated array of (key, value) pairs as `key1:value1,key2:value2, ...`,"},{"line_number":118,"context_line":"multiple values for a key may be specified as"},{"line_number":119,"context_line":"`key1:value1|value2|...,key2:value4,...`."},{"line_number":120,"context_line":"* start_time (string, optional) - The start time in ISO 8601 combined date and"},{"line_number":121,"context_line":"time format in UTC."},{"line_number":122,"context_line":"* end_time (string, optional) - The end time in ISO 8601 combined date and time"}],"source_content_type":"text/x-markdown","patch_set":7,"id":"da36d5c6_79ed2ab6","line":119,"range":{"start_line":119,"start_character":1,"end_line":119,"end_character":39},"updated":"2017-02-24 15:50:58.000000000","message":"Would it be worthwhile to allow searching for just a key? This is permitted in the metrics API by simply omitting the value. Not sure if this is as applicable to logs, since they will likely have very similar sets of dimension keys.","commit_id":"4dad3f4d91f49356445850f69e294f74b3ac4889"},{"author":{"_account_id":24533,"name":"Steve Simpson","email":"steve@stackhpc.com","username":"stevejims"},"change_message_id":"2ee5cd79cf4f1ec30d8079f585633aa266e16edf","unresolved":false,"context_lines":[{"line_number":116,"context_line":"* dimensions (string, optional) - A dictionary to filter logs by specified as a"},{"line_number":117,"context_line":"comma separated array of (key, value) pairs as `key1:value1,key2:value2, ...`,"},{"line_number":118,"context_line":"multiple values for a key may be specified as"},{"line_number":119,"context_line":"`key1:value1|value2|...,key2:value4,...`."},{"line_number":120,"context_line":"* start_time (string, optional) - The start time in ISO 8601 combined date and"},{"line_number":121,"context_line":"time format in UTC."},{"line_number":122,"context_line":"* end_time (string, optional) - The end time in ISO 8601 combined date and time"}],"source_content_type":"text/x-markdown","patch_set":7,"id":"ba2be162_baff3233","line":119,"range":{"start_line":119,"start_character":1,"end_line":119,"end_character":39},"in_reply_to":"ba2be162_b97747d3","updated":"2017-03-01 10:54:36.000000000","message":"I\u0027ll add this - following the syntax used for \"list alarms\".\n\nhttps://github.com/openstack/monasca-api/blob/master/docs/monasca-api-spec.md#list-alarms","commit_id":"4dad3f4d91f49356445850f69e294f74b3ac4889"},{"author":{"_account_id":16222,"name":"witek","email":"witold.bedyk@suse.com","username":"witek"},"change_message_id":"16c642c65486088b4a935d89ee6e05f01f48fc7f","unresolved":false,"context_lines":[{"line_number":116,"context_line":"* dimensions (string, optional) - A dictionary to filter logs by specified as a"},{"line_number":117,"context_line":"comma separated array of (key, value) pairs as `key1:value1,key2:value2, ...`,"},{"line_number":118,"context_line":"multiple values for a key may be specified as"},{"line_number":119,"context_line":"`key1:value1|value2|...,key2:value4,...`."},{"line_number":120,"context_line":"* start_time (string, optional) - The start time in ISO 8601 combined date and"},{"line_number":121,"context_line":"time format in UTC."},{"line_number":122,"context_line":"* end_time (string, optional) - The end time in ISO 8601 combined date and time"}],"source_content_type":"text/x-markdown","patch_set":7,"id":"ba2be162_cb7333b0","line":119,"range":{"start_line":119,"start_character":1,"end_line":119,"end_character":39},"in_reply_to":"ba2be162_baff3233","updated":"2017-03-01 14:29:06.000000000","message":"Ryan, how will the introduction of the new Monasca Query Language [1] affect searching by dimensions in Monasca API v3? Will the query parameter stay the same?\n\n[1] https://github.com/hpcloud-mon/monasca_query_language/blob/master/Query_Language.md#selecting-dimensions","commit_id":"4dad3f4d91f49356445850f69e294f74b3ac4889"},{"author":{"_account_id":14517,"name":"Ryan Brandt","email":"ryan.brandt@hpe.com","username":"ryan-brandt"},"change_message_id":"8fb56d706ca535c65356047bb852d17e1d1455da","unresolved":false,"context_lines":[{"line_number":116,"context_line":"* dimensions (string, optional) - A dictionary to filter logs by specified as a"},{"line_number":117,"context_line":"comma separated array of (key, value) pairs as `key1:value1,key2:value2, ...`,"},{"line_number":118,"context_line":"multiple values for a key may be specified as"},{"line_number":119,"context_line":"`key1:value1|value2|...,key2:value4,...`."},{"line_number":120,"context_line":"* start_time (string, optional) - The start time in ISO 8601 combined date and"},{"line_number":121,"context_line":"time format in UTC."},{"line_number":122,"context_line":"* end_time (string, optional) - The end time in ISO 8601 combined date and time"}],"source_content_type":"text/x-markdown","patch_set":7,"id":"ba2be162_d3d125fd","line":119,"range":{"start_line":119,"start_character":1,"end_line":119,"end_character":39},"in_reply_to":"ba2be162_cb7333b0","updated":"2017-03-01 15:22:59.000000000","message":"The query language will live on a separate endpoint with few or no query parameters, and the normal endpoint will maintain the same behavior and options.","commit_id":"4dad3f4d91f49356445850f69e294f74b3ac4889"},{"author":{"_account_id":16168,"name":"Tomasz Trębski","email":"kornicameister@gmail.com","username":"trebskit"},"change_message_id":"9f09286f09602b75fa6923f200a1c6ab792b5320","unresolved":false,"context_lines":[{"line_number":116,"context_line":"* dimensions (string, optional) - A dictionary to filter logs by specified as a"},{"line_number":117,"context_line":"comma separated array of (key, value) pairs as `key1:value1,key2:value2, ...`,"},{"line_number":118,"context_line":"multiple values for a key may be specified as"},{"line_number":119,"context_line":"`key1:value1|value2|...,key2:value4,...`."},{"line_number":120,"context_line":"* start_time (string, optional) - The start time in ISO 8601 combined date and"},{"line_number":121,"context_line":"time format in UTC."},{"line_number":122,"context_line":"* end_time (string, optional) - The end time in ISO 8601 combined date and time"}],"source_content_type":"text/x-markdown","patch_set":7,"id":"ba2be162_b97747d3","line":119,"range":{"start_line":119,"start_character":1,"end_line":119,"end_character":39},"in_reply_to":"da36d5c6_0ab2e0e4","updated":"2017-03-01 09:03:23.000000000","message":"I like idea of searching just by key and it that is technically possible -\u003e +1","commit_id":"4dad3f4d91f49356445850f69e294f74b3ac4889"},{"author":{"_account_id":24533,"name":"Steve Simpson","email":"steve@stackhpc.com","username":"stevejims"},"change_message_id":"c8f7c1862684c109cfa848c611eeddc130fbcb1a","unresolved":false,"context_lines":[{"line_number":116,"context_line":"* dimensions (string, optional) - A dictionary to filter logs by specified as a"},{"line_number":117,"context_line":"comma separated array of (key, value) pairs as `key1:value1,key2:value2, ...`,"},{"line_number":118,"context_line":"multiple values for a key may be specified as"},{"line_number":119,"context_line":"`key1:value1|value2|...,key2:value4,...`."},{"line_number":120,"context_line":"* start_time (string, optional) - The start time in ISO 8601 combined date and"},{"line_number":121,"context_line":"time format in UTC."},{"line_number":122,"context_line":"* end_time (string, optional) - The end time in ISO 8601 combined date and time"}],"source_content_type":"text/x-markdown","patch_set":7,"id":"da36d5c6_0ab2e0e4","line":119,"range":{"start_line":119,"start_character":1,"end_line":119,"end_character":39},"in_reply_to":"da36d5c6_79ed2ab6","updated":"2017-02-27 10:24:59.000000000","message":"Don\u0027t see why not - what should be semantics be? Presumably we would match logs where the dimension exists, irrelevant of the value. This would simply have to map onto an \"exists\" operation in Elastic.\n\nhttps://www.elastic.co/guide/en/elasticsearch/reference/current/query-dsl-exists-filter.html\n\nThoughts on this Tomasz/Witek?","commit_id":"4dad3f4d91f49356445850f69e294f74b3ac4889"},{"author":{"_account_id":14517,"name":"Ryan Brandt","email":"ryan.brandt@hpe.com","username":"ryan-brandt"},"change_message_id":"3b3c9431678a3a9de7b2a4d8aee27260716ceaeb","unresolved":false,"context_lines":[{"line_number":125,"context_line":"* limit (integer, optional) - Limit number of logs returned (Default: 10)."},{"line_number":126,"context_line":"* sort_by (string, optional) - Comma separated list of fields or dimensions to"},{"line_number":127,"context_line":"sort by. Fields may be followed by \u0027asc\u0027 or \u0027desc\u0027 to set the direction, e.g."},{"line_number":128,"context_line":"\u0027dimension:hostname asc\u0027. Allowed fields for sort_by are currently: \u0027timestamp\u0027,"},{"line_number":129,"context_line":"\u0027created_at\u0027, \u0027dimension:\u003cdimension_name\u003e\u0027. (Default: \u0027timestamp desc\u0027)"},{"line_number":130,"context_line":""},{"line_number":131,"context_line":"#### Request Body"}],"source_content_type":"text/x-markdown","patch_set":7,"id":"da36d5c6_799a8a6f","line":128,"range":{"start_line":128,"start_character":1,"end_line":128,"end_character":10},"updated":"2017-02-24 15:50:58.000000000","message":"The metrics API doesn\u0027t actually allow sorting by dimensions, primarily because dimensions are a dictionary and sorting by that can get messy with our current representation in mysql.","commit_id":"4dad3f4d91f49356445850f69e294f74b3ac4889"},{"author":{"_account_id":24533,"name":"Steve Simpson","email":"steve@stackhpc.com","username":"stevejims"},"change_message_id":"2ee5cd79cf4f1ec30d8079f585633aa266e16edf","unresolved":false,"context_lines":[{"line_number":125,"context_line":"* limit (integer, optional) - Limit number of logs returned (Default: 10)."},{"line_number":126,"context_line":"* sort_by (string, optional) - Comma separated list of fields or dimensions to"},{"line_number":127,"context_line":"sort by. Fields may be followed by \u0027asc\u0027 or \u0027desc\u0027 to set the direction, e.g."},{"line_number":128,"context_line":"\u0027dimension:hostname asc\u0027. Allowed fields for sort_by are currently: \u0027timestamp\u0027,"},{"line_number":129,"context_line":"\u0027created_at\u0027, \u0027dimension:\u003cdimension_name\u003e\u0027. (Default: \u0027timestamp desc\u0027)"},{"line_number":130,"context_line":""},{"line_number":131,"context_line":"#### Request Body"}],"source_content_type":"text/x-markdown","patch_set":7,"id":"ba2be162_3a4fc293","line":128,"range":{"start_line":128,"start_character":1,"end_line":128,"end_character":10},"in_reply_to":"ba2be162_4babd289","updated":"2017-03-01 10:54:36.000000000","message":"OK lets go for simplicity to start with - I\u0027ll leave in timestamp sorting, with the default as is, and we can add extra features in the future.","commit_id":"4dad3f4d91f49356445850f69e294f74b3ac4889"},{"author":{"_account_id":16168,"name":"Tomasz Trębski","email":"kornicameister@gmail.com","username":"trebskit"},"change_message_id":"0faa3245ee68351d00ed11915b0c06b53b59d43f","unresolved":false,"context_lines":[{"line_number":125,"context_line":"* limit (integer, optional) - Limit number of logs returned (Default: 10)."},{"line_number":126,"context_line":"* sort_by (string, optional) - Comma separated list of fields or dimensions to"},{"line_number":127,"context_line":"sort by. Fields may be followed by \u0027asc\u0027 or \u0027desc\u0027 to set the direction, e.g."},{"line_number":128,"context_line":"\u0027dimension:hostname asc\u0027. Allowed fields for sort_by are currently: \u0027timestamp\u0027,"},{"line_number":129,"context_line":"\u0027created_at\u0027, \u0027dimension:\u003cdimension_name\u003e\u0027. (Default: \u0027timestamp desc\u0027)"},{"line_number":130,"context_line":""},{"line_number":131,"context_line":"#### Request Body"}],"source_content_type":"text/x-markdown","patch_set":7,"id":"da36d5c6_b7e5d409","line":128,"range":{"start_line":128,"start_character":1,"end_line":128,"end_character":10},"in_reply_to":"da36d5c6_799a8a6f","updated":"2017-02-25 18:42:11.000000000","message":"Luckily (or not) we have here ElasticSearch, so I think that it might be possible. We can always move this as feature extension IMHO and start small.","commit_id":"4dad3f4d91f49356445850f69e294f74b3ac4889"},{"author":{"_account_id":16168,"name":"Tomasz Trębski","email":"kornicameister@gmail.com","username":"trebskit"},"change_message_id":"9f09286f09602b75fa6923f200a1c6ab792b5320","unresolved":false,"context_lines":[{"line_number":125,"context_line":"* limit (integer, optional) - Limit number of logs returned (Default: 10)."},{"line_number":126,"context_line":"* sort_by (string, optional) - Comma separated list of fields or dimensions to"},{"line_number":127,"context_line":"sort by. Fields may be followed by \u0027asc\u0027 or \u0027desc\u0027 to set the direction, e.g."},{"line_number":128,"context_line":"\u0027dimension:hostname asc\u0027. Allowed fields for sort_by are currently: \u0027timestamp\u0027,"},{"line_number":129,"context_line":"\u0027created_at\u0027, \u0027dimension:\u003cdimension_name\u003e\u0027. (Default: \u0027timestamp desc\u0027)"},{"line_number":130,"context_line":""},{"line_number":131,"context_line":"#### Request Body"}],"source_content_type":"text/x-markdown","patch_set":7,"id":"ba2be162_4babd289","line":128,"range":{"start_line":128,"start_character":1,"end_line":128,"end_character":10},"in_reply_to":"da36d5c6_8a1a50c4","updated":"2017-03-01 09:03:23.000000000","message":"hmm...if metric api does not allow doing that, I would say we do the same here. At least for the start, later on we can think about extending all that and adding something extra metric api does not have or cannot support.\n\nHmm...about no_sorting...well I think that at least sorting by timestam should be applied unless elasticsearch returns data already ordered by the default setting or by some template setting.","commit_id":"4dad3f4d91f49356445850f69e294f74b3ac4889"},{"author":{"_account_id":24533,"name":"Steve Simpson","email":"steve@stackhpc.com","username":"stevejims"},"change_message_id":"c8f7c1862684c109cfa848c611eeddc130fbcb1a","unresolved":false,"context_lines":[{"line_number":125,"context_line":"* limit (integer, optional) - Limit number of logs returned (Default: 10)."},{"line_number":126,"context_line":"* sort_by (string, optional) - Comma separated list of fields or dimensions to"},{"line_number":127,"context_line":"sort by. Fields may be followed by \u0027asc\u0027 or \u0027desc\u0027 to set the direction, e.g."},{"line_number":128,"context_line":"\u0027dimension:hostname asc\u0027. Allowed fields for sort_by are currently: \u0027timestamp\u0027,"},{"line_number":129,"context_line":"\u0027created_at\u0027, \u0027dimension:\u003cdimension_name\u003e\u0027. (Default: \u0027timestamp desc\u0027)"},{"line_number":130,"context_line":""},{"line_number":131,"context_line":"#### Request Body"}],"source_content_type":"text/x-markdown","patch_set":7,"id":"da36d5c6_8a1a50c4","line":128,"range":{"start_line":128,"start_character":1,"end_line":128,"end_character":10},"in_reply_to":"da36d5c6_b7e5d409","updated":"2017-02-27 10:24:59.000000000","message":"Yes I think this is quite straightforward. To keep things simple, we could remove sorting by dimensions for now. I think we should at least allow selection of sorting by timestamp (so user can pick ascending/descending).\n\nOn a related but different point, I think it may be worth having the default as \"no sorting\", as there will be a performance hit when sorting is applied for queries with a large number of matching entries.","commit_id":"4dad3f4d91f49356445850f69e294f74b3ac4889"},{"author":{"_account_id":14517,"name":"Ryan Brandt","email":"ryan.brandt@hpe.com","username":"ryan-brandt"},"change_message_id":"3b3c9431678a3a9de7b2a4d8aee27260716ceaeb","unresolved":false,"context_lines":[{"line_number":157,"context_line":"#### Response Examples"},{"line_number":158,"context_line":"```"},{"line_number":159,"context_line":"{"},{"line_number":160,"context_line":"    \"links\": ["},{"line_number":161,"context_line":"        {"},{"line_number":162,"context_line":"            \"rel\": \"prev\","},{"line_number":163,"context_line":"            \"href\": \"http://192.168.10.4:5607/v3.0/logs?start_time\u003d2015-03-00T00%3A00%3A00Z\u0026dimensions\u003dhostname%3Adevstack\""},{"line_number":164,"context_line":"        },"},{"line_number":165,"context_line":"        {"},{"line_number":166,"context_line":"            \"rel\": \"self\","},{"line_number":167,"context_line":"            \"href\": \"http://192.168.10.4:5607/v3.0/logs?offset\u003d2015-03-01T01%3A12%3A29Z\u0026start_time\u003d2015-03-00T00%3A00%3A00Z\u0026dimensions\u003dhostname%3Adevstack\""}],"source_content_type":"text/x-markdown","patch_set":7,"id":"da36d5c6_9b503fd6","line":164,"range":{"start_line":160,"start_character":14,"end_line":164,"end_character":10},"updated":"2017-02-24 15:50:58.000000000","message":"This extra link isn\u0027t supported in the metrics api, however if you think it is useful I could understand keeping it around","commit_id":"4dad3f4d91f49356445850f69e294f74b3ac4889"},{"author":{"_account_id":16168,"name":"Tomasz Trębski","email":"kornicameister@gmail.com","username":"trebskit"},"change_message_id":"0faa3245ee68351d00ed11915b0c06b53b59d43f","unresolved":false,"context_lines":[{"line_number":157,"context_line":"#### Response Examples"},{"line_number":158,"context_line":"```"},{"line_number":159,"context_line":"{"},{"line_number":160,"context_line":"    \"links\": ["},{"line_number":161,"context_line":"        {"},{"line_number":162,"context_line":"            \"rel\": \"prev\","},{"line_number":163,"context_line":"            \"href\": \"http://192.168.10.4:5607/v3.0/logs?start_time\u003d2015-03-00T00%3A00%3A00Z\u0026dimensions\u003dhostname%3Adevstack\""},{"line_number":164,"context_line":"        },"},{"line_number":165,"context_line":"        {"},{"line_number":166,"context_line":"            \"rel\": \"self\","},{"line_number":167,"context_line":"            \"href\": \"http://192.168.10.4:5607/v3.0/logs?offset\u003d2015-03-01T01%3A12%3A29Z\u0026start_time\u003d2015-03-00T00%3A00%3A00Z\u0026dimensions\u003dhostname%3Adevstack\""}],"source_content_type":"text/x-markdown","patch_set":7,"id":"da36d5c6_d7f088cb","line":164,"range":{"start_line":160,"start_character":14,"end_line":164,"end_character":10},"in_reply_to":"da36d5c6_9b503fd6","updated":"2017-02-25 18:42:11.000000000","message":"This was my suggestion...normally I would expect something like this to be around. Actually I thought metric API would have it supported :P","commit_id":"4dad3f4d91f49356445850f69e294f74b3ac4889"},{"author":{"_account_id":14517,"name":"Ryan Brandt","email":"ryan.brandt@hpe.com","username":"ryan-brandt"},"change_message_id":"3b3c9431678a3a9de7b2a4d8aee27260716ceaeb","unresolved":false,"context_lines":[{"line_number":173,"context_line":"    ],"},{"line_number":174,"context_line":"    \"elements\": ["},{"line_number":175,"context_line":"        {"},{"line_number":176,"context_line":"            \"timestamp\":\"2015-03-03T05:24:55Z\","},{"line_number":177,"context_line":"            \"message\":\"msg1\","},{"line_number":178,"context_line":"            \"dimensions\":{"},{"line_number":179,"context_line":"                \"hostname\":\"devstack\","}],"source_content_type":"text/x-markdown","patch_set":7,"id":"da36d5c6_79444ab6","line":176,"range":{"start_line":176,"start_character":25,"end_line":176,"end_character":47},"updated":"2017-02-24 15:50:58.000000000","message":"We typically report data with a time resolution of milliseconds.","commit_id":"4dad3f4d91f49356445850f69e294f74b3ac4889"},{"author":{"_account_id":24533,"name":"Steve Simpson","email":"steve@stackhpc.com","username":"stevejims"},"change_message_id":"c8f7c1862684c109cfa848c611eeddc130fbcb1a","unresolved":false,"context_lines":[{"line_number":173,"context_line":"    ],"},{"line_number":174,"context_line":"    \"elements\": ["},{"line_number":175,"context_line":"        {"},{"line_number":176,"context_line":"            \"timestamp\":\"2015-03-03T05:24:55Z\","},{"line_number":177,"context_line":"            \"message\":\"msg1\","},{"line_number":178,"context_line":"            \"dimensions\":{"},{"line_number":179,"context_line":"                \"hostname\":\"devstack\","}],"source_content_type":"text/x-markdown","patch_set":7,"id":"da36d5c6_eacf4c26","line":176,"range":{"start_line":176,"start_character":25,"end_line":176,"end_character":47},"in_reply_to":"da36d5c6_79444ab6","updated":"2017-02-27 10:24:59.000000000","message":"Good spot - I\u0027ll add this in the next patch set.","commit_id":"4dad3f4d91f49356445850f69e294f74b3ac4889"},{"author":{"_account_id":16222,"name":"witek","email":"witold.bedyk@suse.com","username":"witek"},"change_message_id":"f6b516d3256224b429206cabf335ed29dea2663c","unresolved":false,"context_lines":[{"line_number":116,"context_line":"`key1:value1|value2|...,key2:value4,...`. If the value is omitted in the form"},{"line_number":117,"context_line":"`key1,key2, ...`, then entries are returned where the dimension exists with"},{"line_number":118,"context_line":"any value."},{"line_number":119,"context_line":"* start_time (string, optional) - The start time in ISO 8601 combined date and"},{"line_number":120,"context_line":"time format in UTC."},{"line_number":121,"context_line":"* end_time (string, optional) - The end time in ISO 8601 combined date and time"},{"line_number":122,"context_line":"format in UTC."},{"line_number":123,"context_line":"* offset (integer, optional) - Number of log entries to skip (Default: 0)."},{"line_number":124,"context_line":"* limit (integer, optional) - Limit number of logs returned (Default: 10)."},{"line_number":125,"context_line":"* sort_by (string, optional) - Comma separated list of fields or dimensions to"}],"source_content_type":"text/x-markdown","patch_set":10,"id":"ba2be162_9d0fbee0","line":122,"range":{"start_line":119,"start_character":0,"end_line":122,"end_character":14},"updated":"2017-03-01 14:44:28.000000000","message":"Ryan, will this stay the same in Monasca API v3? The MQL introduces range and offset [1].\n\n[1] https://github.com/hpcloud-mon/monasca_query_language/blob/master/Query_Language.md#selecting-metrics-over-time","commit_id":"df0b5957838ee13ac03c2993d996d841e0456d3e"},{"author":{"_account_id":24533,"name":"Steve Simpson","email":"steve@stackhpc.com","username":"stevejims"},"change_message_id":"c0b36506e3fd1a7d24e1a099e4a0ba179d30bfa7","unresolved":false,"context_lines":[{"line_number":116,"context_line":"`key1:value1|value2|...,key2:value4,...`. If the value is omitted in the form"},{"line_number":117,"context_line":"`key1,key2, ...`, then entries are returned where the dimension exists with"},{"line_number":118,"context_line":"any value."},{"line_number":119,"context_line":"* start_time (string, optional) - The start time in ISO 8601 combined date and"},{"line_number":120,"context_line":"time format in UTC."},{"line_number":121,"context_line":"* end_time (string, optional) - The end time in ISO 8601 combined date and time"},{"line_number":122,"context_line":"format in UTC."},{"line_number":123,"context_line":"* offset (integer, optional) - Number of log entries to skip (Default: 0)."},{"line_number":124,"context_line":"* limit (integer, optional) - Limit number of logs returned (Default: 10)."},{"line_number":125,"context_line":"* sort_by (string, optional) - Comma separated list of fields or dimensions to"}],"source_content_type":"text/x-markdown","patch_set":10,"id":"ba2be162_f61c2915","line":122,"range":{"start_line":119,"start_character":0,"end_line":122,"end_character":14},"in_reply_to":"ba2be162_415a9450","updated":"2017-03-02 11:06:11.000000000","message":"I think MQL/\"LQL\" will be worth revisiting if we consider a more complex API for searching in the future (/logs/search or something). At the mid-cycle I believe there was a consensus that this approach is a good starting point which we can build on.","commit_id":"df0b5957838ee13ac03c2993d996d841e0456d3e"},{"author":{"_account_id":16168,"name":"Tomasz Trębski","email":"kornicameister@gmail.com","username":"trebskit"},"change_message_id":"5ada4fcdc8faee1d00b743235fdffb77daff701c","unresolved":false,"context_lines":[{"line_number":116,"context_line":"`key1:value1|value2|...,key2:value4,...`. If the value is omitted in the form"},{"line_number":117,"context_line":"`key1,key2, ...`, then entries are returned where the dimension exists with"},{"line_number":118,"context_line":"any value."},{"line_number":119,"context_line":"* start_time (string, optional) - The start time in ISO 8601 combined date and"},{"line_number":120,"context_line":"time format in UTC."},{"line_number":121,"context_line":"* end_time (string, optional) - The end time in ISO 8601 combined date and time"},{"line_number":122,"context_line":"format in UTC."},{"line_number":123,"context_line":"* offset (integer, optional) - Number of log entries to skip (Default: 0)."},{"line_number":124,"context_line":"* limit (integer, optional) - Limit number of logs returned (Default: 10)."},{"line_number":125,"context_line":"* sort_by (string, optional) - Comma separated list of fields or dimensions to"}],"source_content_type":"text/x-markdown","patch_set":10,"id":"ba2be162_415a9450","line":122,"range":{"start_line":119,"start_character":0,"end_line":122,"end_character":14},"in_reply_to":"ba2be162_52a7c84e","updated":"2017-03-02 10:46:58.000000000","message":"Well, I haven\u0027t acquainted myself with MQL concept that much to be able to verify if that\u0027s applicable here.\n\nAnyway, if what you wrote is true, I guess we would have to develop some sort LQL ]:-\u003e.\n\nHmm..I think I will go with whatever others believe is ok.\nAll I know is that I am not willing to put any unnecessary effort here because we won\u0027t be able to start with this.","commit_id":"df0b5957838ee13ac03c2993d996d841e0456d3e"},{"author":{"_account_id":24533,"name":"Steve Simpson","email":"steve@stackhpc.com","username":"stevejims"},"change_message_id":"6a91aa57b23c5667fd20e577e7a396b2cabd415b","unresolved":false,"context_lines":[{"line_number":116,"context_line":"`key1:value1|value2|...,key2:value4,...`. If the value is omitted in the form"},{"line_number":117,"context_line":"`key1,key2, ...`, then entries are returned where the dimension exists with"},{"line_number":118,"context_line":"any value."},{"line_number":119,"context_line":"* start_time (string, optional) - The start time in ISO 8601 combined date and"},{"line_number":120,"context_line":"time format in UTC."},{"line_number":121,"context_line":"* end_time (string, optional) - The end time in ISO 8601 combined date and time"},{"line_number":122,"context_line":"format in UTC."},{"line_number":123,"context_line":"* offset (integer, optional) - Number of log entries to skip (Default: 0)."},{"line_number":124,"context_line":"* limit (integer, optional) - Limit number of logs returned (Default: 10)."},{"line_number":125,"context_line":"* sort_by (string, optional) - Comma separated list of fields or dimensions to"}],"source_content_type":"text/x-markdown","patch_set":10,"id":"ba2be162_52a7c84e","line":122,"range":{"start_line":119,"start_character":0,"end_line":122,"end_character":14},"in_reply_to":"ba2be162_6cf4fe86","updated":"2017-03-02 09:20:31.000000000","message":"Looking at the MQL, we could certainly provide an interface which is consistent with it, but obviously logs don\u0027t have a metric name, and arithmetic on them is meaningless.\n\nHappy to take a look at this, but I think it renders this work invalid.","commit_id":"df0b5957838ee13ac03c2993d996d841e0456d3e"},{"author":{"_account_id":14517,"name":"Ryan Brandt","email":"ryan.brandt@hpe.com","username":"ryan-brandt"},"change_message_id":"3141d254661dec59d759ae73a3e2533ac73100d3","unresolved":false,"context_lines":[{"line_number":116,"context_line":"`key1:value1|value2|...,key2:value4,...`. If the value is omitted in the form"},{"line_number":117,"context_line":"`key1,key2, ...`, then entries are returned where the dimension exists with"},{"line_number":118,"context_line":"any value."},{"line_number":119,"context_line":"* start_time (string, optional) - The start time in ISO 8601 combined date and"},{"line_number":120,"context_line":"time format in UTC."},{"line_number":121,"context_line":"* end_time (string, optional) - The end time in ISO 8601 combined date and time"},{"line_number":122,"context_line":"format in UTC."},{"line_number":123,"context_line":"* offset (integer, optional) - Number of log entries to skip (Default: 0)."},{"line_number":124,"context_line":"* limit (integer, optional) - Limit number of logs returned (Default: 10)."},{"line_number":125,"context_line":"* sort_by (string, optional) - Comma separated list of fields or dimensions to"}],"source_content_type":"text/x-markdown","patch_set":10,"id":"ba2be162_1ed1c457","line":122,"range":{"start_line":119,"start_character":0,"end_line":122,"end_character":14},"in_reply_to":"ba2be162_92b4ced1","updated":"2017-03-02 15:11:55.000000000","message":"I agree that the MQL as written doesn\u0027t apply well to logs, and even if it did, I think we would still have a use for a simple straightforward endpoint. Not all queries would need the added complexity of a query language.","commit_id":"df0b5957838ee13ac03c2993d996d841e0456d3e"},{"author":{"_account_id":14517,"name":"Ryan Brandt","email":"ryan.brandt@hpe.com","username":"ryan-brandt"},"change_message_id":"17c0db3092fecaf334cc26aa5e852545f3c8b276","unresolved":false,"context_lines":[{"line_number":116,"context_line":"`key1:value1|value2|...,key2:value4,...`. If the value is omitted in the form"},{"line_number":117,"context_line":"`key1,key2, ...`, then entries are returned where the dimension exists with"},{"line_number":118,"context_line":"any value."},{"line_number":119,"context_line":"* start_time (string, optional) - The start time in ISO 8601 combined date and"},{"line_number":120,"context_line":"time format in UTC."},{"line_number":121,"context_line":"* end_time (string, optional) - The end time in ISO 8601 combined date and time"},{"line_number":122,"context_line":"format in UTC."},{"line_number":123,"context_line":"* offset (integer, optional) - Number of log entries to skip (Default: 0)."},{"line_number":124,"context_line":"* limit (integer, optional) - Limit number of logs returned (Default: 10)."},{"line_number":125,"context_line":"* sort_by (string, optional) - Comma separated list of fields or dimensions to"}],"source_content_type":"text/x-markdown","patch_set":10,"id":"ba2be162_d38925cc","line":122,"range":{"start_line":119,"start_character":0,"end_line":122,"end_character":14},"in_reply_to":"ba2be162_9d0fbee0","updated":"2017-03-01 15:23:07.000000000","message":"Yes, the query language will live on it\u0027s own endpoint, and the current measurements (and statistics) endpoints will maintain their form and options.","commit_id":"df0b5957838ee13ac03c2993d996d841e0456d3e"},{"author":{"_account_id":16168,"name":"Tomasz Trębski","email":"kornicameister@gmail.com","username":"trebskit"},"change_message_id":"a5604fb9c8221240e990ff9fc30234507de491a3","unresolved":false,"context_lines":[{"line_number":116,"context_line":"`key1:value1|value2|...,key2:value4,...`. If the value is omitted in the form"},{"line_number":117,"context_line":"`key1,key2, ...`, then entries are returned where the dimension exists with"},{"line_number":118,"context_line":"any value."},{"line_number":119,"context_line":"* start_time (string, optional) - The start time in ISO 8601 combined date and"},{"line_number":120,"context_line":"time format in UTC."},{"line_number":121,"context_line":"* end_time (string, optional) - The end time in ISO 8601 combined date and time"},{"line_number":122,"context_line":"format in UTC."},{"line_number":123,"context_line":"* offset (integer, optional) - Number of log entries to skip (Default: 0)."},{"line_number":124,"context_line":"* limit (integer, optional) - Limit number of logs returned (Default: 10)."},{"line_number":125,"context_line":"* sort_by (string, optional) - Comma separated list of fields or dimensions to"}],"source_content_type":"text/x-markdown","patch_set":10,"id":"ba2be162_6cf4fe86","line":122,"range":{"start_line":119,"start_character":0,"end_line":122,"end_character":14},"in_reply_to":"ba2be162_d38925cc","updated":"2017-03-02 05:08:53.000000000","message":"I think that MQL will be another version for log-api. Or, at least, I believe it should be. Unless we are willing to start with this instead of writing \"obsolete\" resource ?","commit_id":"df0b5957838ee13ac03c2993d996d841e0456d3e"},{"author":{"_account_id":16222,"name":"witek","email":"witold.bedyk@suse.com","username":"witek"},"change_message_id":"b544edb92d697df6078a3a5df175e84a647e33c7","unresolved":false,"context_lines":[{"line_number":116,"context_line":"`key1:value1|value2|...,key2:value4,...`. If the value is omitted in the form"},{"line_number":117,"context_line":"`key1,key2, ...`, then entries are returned where the dimension exists with"},{"line_number":118,"context_line":"any value."},{"line_number":119,"context_line":"* start_time (string, optional) - The start time in ISO 8601 combined date and"},{"line_number":120,"context_line":"time format in UTC."},{"line_number":121,"context_line":"* end_time (string, optional) - The end time in ISO 8601 combined date and time"},{"line_number":122,"context_line":"format in UTC."},{"line_number":123,"context_line":"* offset (integer, optional) - Number of log entries to skip (Default: 0)."},{"line_number":124,"context_line":"* limit (integer, optional) - Limit number of logs returned (Default: 10)."},{"line_number":125,"context_line":"* sort_by (string, optional) - Comma separated list of fields or dimensions to"}],"source_content_type":"text/x-markdown","patch_set":10,"id":"ba2be162_92b4ced1","line":122,"range":{"start_line":119,"start_character":0,"end_line":122,"end_character":14},"in_reply_to":"ba2be162_f61c2915","updated":"2017-03-02 13:46:57.000000000","message":"I just wanted to check with Ryan if the query parameters will stay the same in Monasca API v3. As it is the case I\u0027m perfectly fine with the proposed spec.","commit_id":"df0b5957838ee13ac03c2993d996d841e0456d3e"},{"author":{"_account_id":16222,"name":"witek","email":"witold.bedyk@suse.com","username":"witek"},"change_message_id":"f6b516d3256224b429206cabf335ed29dea2663c","unresolved":false,"context_lines":[{"line_number":125,"context_line":"* sort_by (string, optional) - Comma separated list of fields or dimensions to"},{"line_number":126,"context_line":"sort by. Fields may be followed by \u0027asc\u0027 or \u0027desc\u0027 to set the direction, e.g."},{"line_number":127,"context_line":"\u0027timestamp asc\u0027. Allowed fields for sort_by are currently: \u0027timestamp\u0027."},{"line_number":128,"context_line":"(Default: \u0027timestamp desc\u0027)"},{"line_number":129,"context_line":""},{"line_number":130,"context_line":"#### Request Body"},{"line_number":131,"context_line":"None."}],"source_content_type":"text/x-markdown","patch_set":10,"id":"ba2be162_4b4743bb","line":128,"range":{"start_line":128,"start_character":0,"end_line":128,"end_character":27},"updated":"2017-03-01 14:44:28.000000000","message":"I would prefer not to have default sorting for performance reasons. The client can still decide if she wants sorted data or not.","commit_id":"df0b5957838ee13ac03c2993d996d841e0456d3e"},{"author":{"_account_id":16168,"name":"Tomasz Trębski","email":"kornicameister@gmail.com","username":"trebskit"},"change_message_id":"a5604fb9c8221240e990ff9fc30234507de491a3","unresolved":false,"context_lines":[{"line_number":125,"context_line":"* sort_by (string, optional) - Comma separated list of fields or dimensions to"},{"line_number":126,"context_line":"sort by. Fields may be followed by \u0027asc\u0027 or \u0027desc\u0027 to set the direction, e.g."},{"line_number":127,"context_line":"\u0027timestamp asc\u0027. Allowed fields for sort_by are currently: \u0027timestamp\u0027."},{"line_number":128,"context_line":"(Default: \u0027timestamp desc\u0027)"},{"line_number":129,"context_line":""},{"line_number":130,"context_line":"#### Request Body"},{"line_number":131,"context_line":"None."}],"source_content_type":"text/x-markdown","patch_set":10,"id":"ba2be162_4c265acf","line":128,"range":{"start_line":128,"start_character":0,"end_line":128,"end_character":27},"in_reply_to":"ba2be162_4731ef0a","updated":"2017-03-02 05:08:53.000000000","message":"Hmm...I guess I am. I mean I don\u0027t agree with this statement because I would like to see my data in predictable order with each request even if I don\u0027t specify that but there\u0027s no point in arguing right now because what I want more is to get this into air and see running ;)","commit_id":"df0b5957838ee13ac03c2993d996d841e0456d3e"},{"author":{"_account_id":24533,"name":"Steve Simpson","email":"steve@stackhpc.com","username":"stevejims"},"change_message_id":"efce221925bf4572e3dfa752f39a881ab9ffefcd","unresolved":false,"context_lines":[{"line_number":125,"context_line":"* sort_by (string, optional) - Comma separated list of fields or dimensions to"},{"line_number":126,"context_line":"sort by. Fields may be followed by \u0027asc\u0027 or \u0027desc\u0027 to set the direction, e.g."},{"line_number":127,"context_line":"\u0027timestamp asc\u0027. Allowed fields for sort_by are currently: \u0027timestamp\u0027."},{"line_number":128,"context_line":"(Default: \u0027timestamp desc\u0027)"},{"line_number":129,"context_line":""},{"line_number":130,"context_line":"#### Request Body"},{"line_number":131,"context_line":"None."}],"source_content_type":"text/x-markdown","patch_set":10,"id":"ba2be162_4731ef0a","line":128,"range":{"start_line":128,"start_character":0,"end_line":128,"end_character":27},"in_reply_to":"ba2be162_4b4743bb","updated":"2017-03-01 16:37:07.000000000","message":"Agreed - Tomasz are you happy with taking this out?","commit_id":"df0b5957838ee13ac03c2993d996d841e0456d3e"},{"author":{"_account_id":24533,"name":"Steve Simpson","email":"steve@stackhpc.com","username":"stevejims"},"change_message_id":"7de1128d1a54380e37dda9a1d32da20a0114003e","unresolved":false,"context_lines":[{"line_number":125,"context_line":"* sort_by (string, optional) - Comma separated list of fields or dimensions to"},{"line_number":126,"context_line":"sort by. Fields may be followed by \u0027asc\u0027 or \u0027desc\u0027 to set the direction, e.g."},{"line_number":127,"context_line":"\u0027timestamp asc\u0027. Allowed fields for sort_by are currently: \u0027timestamp\u0027."},{"line_number":128,"context_line":"(Default: \u0027timestamp desc\u0027)"},{"line_number":129,"context_line":""},{"line_number":130,"context_line":"#### Request Body"},{"line_number":131,"context_line":"None."}],"source_content_type":"text/x-markdown","patch_set":10,"id":"ba2be162_72ea0c11","line":128,"range":{"start_line":128,"start_character":0,"end_line":128,"end_character":27},"in_reply_to":"ba2be162_4c265acf","updated":"2017-03-02 09:06:11.000000000","message":"A deterministic result by default is appealing, and is always helpful for testing. Looking at the metrics API, it seems that each interface that supports sort_by has a default (usually an \"id\" column).\n\nAn alternative would be to allow \"sort_by\u003dnone\" to explicitly opt-in to faster queries, knowing that the order would be undefined.","commit_id":"df0b5957838ee13ac03c2993d996d841e0456d3e"},{"author":{"_account_id":16168,"name":"Tomasz Trębski","email":"kornicameister@gmail.com","username":"trebskit"},"change_message_id":"5ada4fcdc8faee1d00b743235fdffb77daff701c","unresolved":false,"context_lines":[{"line_number":125,"context_line":"* sort_by (string, optional) - Comma separated list of fields or dimensions to"},{"line_number":126,"context_line":"sort by. Fields may be followed by \u0027asc\u0027 or \u0027desc\u0027 to set the direction, e.g."},{"line_number":127,"context_line":"\u0027timestamp asc\u0027. Allowed fields for sort_by are currently: \u0027timestamp\u0027."},{"line_number":128,"context_line":"(Default: \u0027timestamp desc\u0027)"},{"line_number":129,"context_line":""},{"line_number":130,"context_line":"#### Request Body"},{"line_number":131,"context_line":"None."}],"source_content_type":"text/x-markdown","patch_set":10,"id":"ba2be162_e1162854","line":128,"range":{"start_line":128,"start_character":0,"end_line":128,"end_character":27},"in_reply_to":"ba2be162_72ea0c11","updated":"2017-03-02 10:46:58.000000000","message":"You mean by that: leave this param as an option but by default have it sort_by\u003dNone ?","commit_id":"df0b5957838ee13ac03c2993d996d841e0456d3e"},{"author":{"_account_id":24533,"name":"Steve Simpson","email":"steve@stackhpc.com","username":"stevejims"},"change_message_id":"83db10fb58e552ed63feff2c7107e285307356a1","unresolved":false,"context_lines":[{"line_number":125,"context_line":"* sort_by (string, optional) - Comma separated list of fields or dimensions to"},{"line_number":126,"context_line":"sort by. Fields may be followed by \u0027asc\u0027 or \u0027desc\u0027 to set the direction, e.g."},{"line_number":127,"context_line":"\u0027timestamp asc\u0027. Allowed fields for sort_by are currently: \u0027timestamp\u0027."},{"line_number":128,"context_line":"(Default: \u0027timestamp desc\u0027)"},{"line_number":129,"context_line":""},{"line_number":130,"context_line":"#### Request Body"},{"line_number":131,"context_line":"None."}],"source_content_type":"text/x-markdown","patch_set":10,"id":"ba2be162_48dd1bdf","line":128,"range":{"start_line":128,"start_character":0,"end_line":128,"end_character":27},"in_reply_to":"ba2be162_7f9d5009","updated":"2017-03-03 09:35:39.000000000","message":"Done","commit_id":"df0b5957838ee13ac03c2993d996d841e0456d3e"},{"author":{"_account_id":24533,"name":"Steve Simpson","email":"steve@stackhpc.com","username":"stevejims"},"change_message_id":"c0b36506e3fd1a7d24e1a099e4a0ba179d30bfa7","unresolved":false,"context_lines":[{"line_number":125,"context_line":"* sort_by (string, optional) - Comma separated list of fields or dimensions to"},{"line_number":126,"context_line":"sort by. Fields may be followed by \u0027asc\u0027 or \u0027desc\u0027 to set the direction, e.g."},{"line_number":127,"context_line":"\u0027timestamp asc\u0027. Allowed fields for sort_by are currently: \u0027timestamp\u0027."},{"line_number":128,"context_line":"(Default: \u0027timestamp desc\u0027)"},{"line_number":129,"context_line":""},{"line_number":130,"context_line":"#### Request Body"},{"line_number":131,"context_line":"None."}],"source_content_type":"text/x-markdown","patch_set":10,"id":"ba2be162_f6d98984","line":128,"range":{"start_line":128,"start_character":0,"end_line":128,"end_character":27},"in_reply_to":"ba2be162_e1162854","updated":"2017-03-02 11:06:11.000000000","message":"There are two options as I see it:\n\n1)\nDefault: No defined order\n\n2)\nDefault: Timestamp descending (as is currently)\nAllow: \"sort_by\u003dnone\"\n\nIn either case, for Elasticsearch, the most efficient sort (memory usage and query time) method is to use _doc, so this is what \"no sort\" would mean in practise.\n\nhttps://www.elastic.co/guide/en/elasticsearch/reference/current/search-request-sort.html","commit_id":"df0b5957838ee13ac03c2993d996d841e0456d3e"},{"author":{"_account_id":16222,"name":"witek","email":"witold.bedyk@suse.com","username":"witek"},"change_message_id":"b544edb92d697df6078a3a5df175e84a647e33c7","unresolved":false,"context_lines":[{"line_number":125,"context_line":"* sort_by (string, optional) - Comma separated list of fields or dimensions to"},{"line_number":126,"context_line":"sort by. Fields may be followed by \u0027asc\u0027 or \u0027desc\u0027 to set the direction, e.g."},{"line_number":127,"context_line":"\u0027timestamp asc\u0027. Allowed fields for sort_by are currently: \u0027timestamp\u0027."},{"line_number":128,"context_line":"(Default: \u0027timestamp desc\u0027)"},{"line_number":129,"context_line":""},{"line_number":130,"context_line":"#### Request Body"},{"line_number":131,"context_line":"None."}],"source_content_type":"text/x-markdown","patch_set":10,"id":"ba2be162_4d9f1bb4","line":128,"range":{"start_line":128,"start_character":0,"end_line":128,"end_character":27},"in_reply_to":"ba2be162_f6d98984","updated":"2017-03-02 13:46:57.000000000","message":"+1 for option 1. But I don\u0027t insist on it.","commit_id":"df0b5957838ee13ac03c2993d996d841e0456d3e"},{"author":{"_account_id":16168,"name":"Tomasz Trębski","email":"kornicameister@gmail.com","username":"trebskit"},"change_message_id":"85e53917bce0508f48a3e35b5f6ca604c61ef57f","unresolved":false,"context_lines":[{"line_number":125,"context_line":"* sort_by (string, optional) - Comma separated list of fields or dimensions to"},{"line_number":126,"context_line":"sort by. Fields may be followed by \u0027asc\u0027 or \u0027desc\u0027 to set the direction, e.g."},{"line_number":127,"context_line":"\u0027timestamp asc\u0027. Allowed fields for sort_by are currently: \u0027timestamp\u0027."},{"line_number":128,"context_line":"(Default: \u0027timestamp desc\u0027)"},{"line_number":129,"context_line":""},{"line_number":130,"context_line":"#### Request Body"},{"line_number":131,"context_line":"None."}],"source_content_type":"text/x-markdown","patch_set":10,"id":"ba2be162_7f9d5009","line":128,"range":{"start_line":128,"start_character":0,"end_line":128,"end_character":27},"in_reply_to":"ba2be162_f6d98984","updated":"2017-03-02 18:54:03.000000000","message":"For start, I agree with Witek.\nWe can always patch that in future or think of better approach, at this point don\u0027t see a point in dragging this topic on.","commit_id":"df0b5957838ee13ac03c2993d996d841e0456d3e"}]}
