{"action":"created","issue":{"url":"https://api.github.com/repos/StackStorm/st2/issues/2718","repository_url":"https://api.github.com/repos/StackStorm/st2","labels_url":"https://api.github.com/repos/StackStorm/st2/issues/2718/labels{/name}","comments_url":"https://api.github.com/repos/StackStorm/st2/issues/2718/comments","events_url":"https://api.github.com/repos/StackStorm/st2/issues/2718/events","html_url":"https://github.com/StackStorm/st2/pull/2718","id":157156573,"number":2718,"title":"Execution log","user":{"login":"enykeev","id":1357357,"avatar_url":"https://avatars.githubusercontent.com/u/1357357?v=3","gravatar_id":"","url":"https://api.github.com/users/enykeev","html_url":"https://github.com/enykeev","followers_url":"https://api.github.com/users/enykeev/followers","following_url":"https://api.github.com/users/enykeev/following{/other_user}","gists_url":"https://api.github.com/users/enykeev/gists{/gist_id}","starred_url":"https://api.github.com/users/enykeev/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/enykeev/subscriptions","organizations_url":"https://api.github.com/users/enykeev/orgs","repos_url":"https://api.github.com/users/enykeev/repos","events_url":"https://api.github.com/users/enykeev/events{/privacy}","received_events_url":"https://api.github.com/users/enykeev/received_events","type":"User","site_admin":false},"labels":[{"url":"https://api.github.com/repos/StackStorm/st2/labels/RFR","name":"RFR","color":"eb6420"},{"url":"https://api.github.com/repos/StackStorm/st2/labels/WIP","name":"WIP","color":"bfdadc"}],"state":"open","locked":false,"assignee":null,"milestone":null,"comments":1,"created_at":"2016-05-27T08:35:12Z","updated_at":"2016-05-27T08:37:53Z","closed_at":null,"pull_request":{"url":"https://api.github.com/repos/StackStorm/st2/pulls/2718","html_url":"https://github.com/StackStorm/st2/pull/2718","diff_url":"https://github.com/StackStorm/st2/pull/2718.diff","patch_url":"https://github.com/StackStorm/st2/pull/2718.patch"},"body":"While discussing #2706 we figured there is a few new timestamps we would like to add to execution record to improve user's understanding of the flow and make it easier to debug indeterminate set of problems (primarily performance related I would guess).\r\n\r\nProblem is, there is quite a few execution states already and there's going to be even more if we are to focus on the problem seriously. Storing timestamps related to this state changes as a properties of the execution itself will quickly bloat the execution object beyond reason.\r\n\r\nAn obvious solution to the problem is to create another data structure that would hold this expanding set of data in a linear fashion.\r\n\r\nThe idea is, for every execution state mutation, we creating a log entry with the state execution transitions to and the timestamp when it happened. For some time, this this structure may exist in parallel to our current `state`, `start_timestamp` and `end_timestamp` to ensure backward compatibility and while providing additional context for new executions.\r\n\r\nFor now, user would have to access api directly or use st2client debug mode to get to this data, but as soon as we happy with it, we can easily add a command for it to cli and a view in web."},"comment":{"url":"https://api.github.com/repos/StackStorm/st2/issues/comments/222091956","html_url":"https://github.com/StackStorm/st2/pull/2718#issuecomment-222091956","issue_url":"https://api.github.com/repos/StackStorm/st2/issues/2718","id":222091956,"user":{"login":"enykeev","id":1357357,"avatar_url":"https://avatars.githubusercontent.com/u/1357357?v=3","gravatar_id":"","url":"https://api.github.com/users/enykeev","html_url":"https://github.com/enykeev","followers_url":"https://api.github.com/users/enykeev/followers","following_url":"https://api.github.com/users/enykeev/following{/other_user}","gists_url":"https://api.github.com/users/enykeev/gists{/gist_id}","starred_url":"https://api.github.com/users/enykeev/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/enykeev/subscriptions","organizations_url":"https://api.github.com/users/enykeev/orgs","repos_url":"https://api.github.com/users/enykeev/repos","events_url":"https://api.github.com/users/enykeev/events{/privacy}","received_events_url":"https://api.github.com/users/enykeev/received_events","type":"User","site_admin":false},"created_at":"2016-05-27T08:37:53Z","updated_at":"2016-05-27T08:37:53Z","body":"Lets say I just want to get a discussion going and not really expect we merge it soon. Still, to me it seems like a better way to solve #2706 than adding another property.\r\n\r\nQuestion is, do you see any particular problems with that approach... well, besides the fact we haven't really discussed and designed it as a team before implementing. Tests and docs are coming as soon as I hear anything on the substance of the change."}}
{"actor":{"display_login":"enykeev"}}