)]}'
{"id":"openstack%2Fceilometer~485708","triplet_id":"openstack%2Fceilometer~stable%2Fnewton~I40e14fb6aa595a86df9767be5758f52b7ceafc8f","project":"openstack/ceilometer","branch":"stable/newton","topic":"bug/1527620","hashtags":[],"change_id":"I40e14fb6aa595a86df9767be5758f52b7ceafc8f","subject":"High precision rate of change timedelta","status":"MERGED","created":"2017-07-20 15:04:53.000000000","updated":"2017-07-24 18:06:47.000000000","submitted":"2017-07-24 18:06:47.000000000","submitter":{"_account_id":3,"name":"Jenkins","username":"jenkins"},"total_comment_count":0,"unresolved_comment_count":0,"has_review_started":true,"meta_rev_id":"6275555a58e9faed54b78225fb1770553002a4b5","_number":485708,"virtual_id_number":485708,"owner":{"_account_id":2813,"name":"Mehdi Abaakouk","email":"sileht@sileht.net","username":"sileht"},"actions":{},"labels":{"Verified":{"approved":{"_account_id":3,"name":"Jenkins","username":"jenkins"},"all":[{"value":2,"date":"2017-07-24 18:06:47.000000000","post_submit":true,"_account_id":3,"name":"Jenkins","username":"jenkins"},{"value":0,"_account_id":1669,"name":"Julien Danjou","display_name":"jd","email":"julien@danjou.info","username":"jdanjou"},{"value":0,"_account_id":6537,"name":"gordon chung","email":"gord@live.ca","username":"chungg"},{"value":0,"_account_id":26159,"name":"xiexianbin","email":"xiexianbin@yovole.com","username":"xianbin"}],"values":{"-2":"Fails","-1":"Doesn\u0027t seem to work"," 0":"No score","+1":"Works for me","+2":"Verified"},"description":"","default_value":0,"optional":true},"Code-Review":{"approved":{"_account_id":1669,"name":"Julien Danjou","display_name":"jd","email":"julien@danjou.info","username":"jdanjou"},"all":[{"value":0,"_account_id":3,"name":"Jenkins","username":"jenkins"},{"value":2,"date":"2017-07-24 17:27:17.000000000","_account_id":1669,"name":"Julien Danjou","display_name":"jd","email":"julien@danjou.info","username":"jdanjou"},{"value":2,"date":"2017-07-24 17:22:20.000000000","_account_id":6537,"name":"gordon chung","email":"gord@live.ca","username":"chungg"},{"value":0,"_account_id":26159,"name":"xiexianbin","email":"xiexianbin@yovole.com","username":"xianbin"}],"values":{"-2":"Do not merge","-1":"This patch needs further work before it can be merged"," 0":"No score","+1":"Looks good to me, but someone else must approve","+2":"Looks good to me (core reviewer)"},"description":"","default_value":0,"optional":true},"Workflow":{"approved":{"_account_id":1669,"name":"Julien Danjou","display_name":"jd","email":"julien@danjou.info","username":"jdanjou"},"all":[{"value":0,"_account_id":3,"name":"Jenkins","username":"jenkins"},{"value":1,"date":"2017-07-24 17:27:17.000000000","_account_id":1669,"name":"Julien Danjou","display_name":"jd","email":"julien@danjou.info","username":"jdanjou"},{"value":0,"_account_id":6537,"name":"gordon chung","email":"gord@live.ca","username":"chungg"},{"value":0,"_account_id":26159,"name":"xiexianbin","email":"xiexianbin@yovole.com","username":"xianbin"}],"values":{"-1":"Work in progress"," 0":"Ready for reviews","+1":"Approved"},"description":"","default_value":0,"optional":true}},"removable_reviewers":[],"reviewers":{"REVIEWER":[{"_account_id":3,"name":"Jenkins","username":"jenkins"},{"_account_id":1669,"name":"Julien Danjou","display_name":"jd","email":"julien@danjou.info","username":"jdanjou"},{"_account_id":6537,"name":"gordon chung","email":"gord@live.ca","username":"chungg"},{"_account_id":26159,"name":"xiexianbin","email":"xiexianbin@yovole.com","username":"xianbin"}]},"pending_reviewers":{},"reviewer_updates":[{"updated":"2017-07-24 00:43:49.000000000","updated_by":{"_account_id":26159,"name":"xiexianbin","email":"xiexianbin@yovole.com","username":"xianbin"},"reviewer":{"_account_id":26159,"name":"xiexianbin","email":"xiexianbin@yovole.com","username":"xianbin"},"state":"REVIEWER"},{"updated":"2017-07-24 17:22:20.000000000","updated_by":{"_account_id":6537,"name":"gordon chung","email":"gord@live.ca","username":"chungg"},"reviewer":{"_account_id":6537,"name":"gordon chung","email":"gord@live.ca","username":"chungg"},"state":"REVIEWER"},{"updated":"2017-07-24 17:27:17.000000000","updated_by":{"_account_id":1669,"name":"Julien Danjou","display_name":"jd","email":"julien@danjou.info","username":"jdanjou"},"reviewer":{"_account_id":1669,"name":"Julien Danjou","display_name":"jd","email":"julien@danjou.info","username":"jdanjou"},"state":"REVIEWER"},{"updated":"2017-07-24 18:06:47.000000000","updated_by":{"_account_id":3,"name":"Jenkins","username":"jenkins"},"reviewer":{"_account_id":3,"name":"Jenkins","username":"jenkins"},"state":"REVIEWER"}],"messages":[{"id":"de50ecac5c2bfd005eea9004d4c934620c5f3ed7","author":{"_account_id":2813,"name":"Mehdi Abaakouk","email":"sileht@sileht.net","username":"sileht"},"date":"2017-07-20 15:04:53.000000000","message":"Uploaded patch set 1.","accounts_in_message":[],"_revision_number":1},{"id":"6e06a77d61f1e31a39f3f147ae23a8e562800c02","author":{"_account_id":3,"name":"Jenkins","username":"jenkins"},"date":"2017-07-20 16:27:01.000000000","message":"Patch Set 1: Verified-1\n\nBuild failed (check pipeline).  For information on how to proceed, see http://docs.openstack.org/infra/manual/developers.html#automated-testing\n\n- gate-ceilometer-docs-ubuntu-xenial http://docs-draft.openstack.org/08/485708/1/check/gate-ceilometer-docs-ubuntu-xenial/bb4341f//doc/build/html/ : SUCCESS in 12m 10s\n- gate-ceilometer-pep8-ubuntu-xenial http://logs.openstack.org/08/485708/1/check/gate-ceilometer-pep8-ubuntu-xenial/731fdc5/ : SUCCESS in 7m 54s\n- gate-ceilometer-python27-ubuntu-xenial http://logs.openstack.org/08/485708/1/check/gate-ceilometer-python27-ubuntu-xenial/1a6437b/ : FAILURE in 7m 03s\n- gate-ceilometer-python35 http://logs.openstack.org/08/485708/1/check/gate-ceilometer-python35/e66f6de/ : FAILURE in 6m 34s\n- gate-ceilometer-releasenotes http://docs-draft.openstack.org/08/485708/1/check/gate-ceilometer-releasenotes/ff840fc//releasenotes/build/html/ : SUCCESS in 6m 17s\n- gate-ceilometer-dsvm-functional-mongodb-ubuntu-xenial http://logs.openstack.org/08/485708/1/check/gate-ceilometer-dsvm-functional-mongodb-ubuntu-xenial/0c4d32c/ : SUCCESS in 18m 08s\n- gate-ceilometer-dsvm-functional-mysql-ubuntu-xenial http://logs.openstack.org/08/485708/1/check/gate-ceilometer-dsvm-functional-mysql-ubuntu-xenial/ee48bb4/ : SUCCESS in 25m 32s\n- gate-ceilometer-dsvm-tempest-plugin-mongodb-ubuntu-xenial http://logs.openstack.org/08/485708/1/check/gate-ceilometer-dsvm-tempest-plugin-mongodb-ubuntu-xenial/a511545/ : FAILURE in 24m 16s\n- gate-ceilometer-dsvm-tempest-plugin-mysql-ubuntu-xenial http://logs.openstack.org/08/485708/1/check/gate-ceilometer-dsvm-tempest-plugin-mysql-ubuntu-xenial/f093180/ : FAILURE in 19m 09s\n- gate-telemetry-dsvm-integration-ceilometer-ubuntu-xenial http://logs.openstack.org/08/485708/1/check/gate-telemetry-dsvm-integration-ceilometer-ubuntu-xenial/7042a40/ : SUCCESS in 30m 49s\n- gate-ceilometer-dsvm-tempest-plugin-mongodb-identity-v3-only-ubuntu-xenial http://logs.openstack.org/08/485708/1/check/gate-ceilometer-dsvm-tempest-plugin-mongodb-identity-v3-only-ubuntu-xenial/6777797/ : FAILURE in 25m 40s\n- gate-tripleo-ci-centos-7-scenario001-multinode-oooq-puppet-nv http://logs.openstack.org/08/485708/1/check/gate-tripleo-ci-centos-7-scenario001-multinode-oooq-puppet-nv/dc27093/ : SUCCESS in 1h 14m 29s (non-voting)","accounts_in_message":[],"_revision_number":1},{"id":"cafea505828fe4d12ef58bd53fd530993ac96e9f","author":{"_account_id":2813,"name":"Mehdi Abaakouk","email":"sileht@sileht.net","username":"sileht"},"date":"2017-07-24 12:15:46.000000000","message":"Uploaded patch set 2.","accounts_in_message":[],"_revision_number":2},{"id":"cf697f416cc209a7f8ea513d76354730bbc95131","author":{"_account_id":3,"name":"Jenkins","username":"jenkins"},"date":"2017-07-24 14:06:51.000000000","message":"Patch Set 2: Verified-1\n\nBuild failed (check pipeline).  For information on how to proceed, see http://docs.openstack.org/infra/manual/developers.html#automated-testing\n\n- gate-ceilometer-docs-ubuntu-xenial http://docs-draft.openstack.org/08/485708/2/check/gate-ceilometer-docs-ubuntu-xenial/48d3354//doc/build/html/ : SUCCESS in 2m 44s\n- gate-ceilometer-pep8-ubuntu-xenial http://logs.openstack.org/08/485708/2/check/gate-ceilometer-pep8-ubuntu-xenial/6a2efb2/ : SUCCESS in 7m 07s\n- gate-ceilometer-python27-ubuntu-xenial http://logs.openstack.org/08/485708/2/check/gate-ceilometer-python27-ubuntu-xenial/36416f4/ : FAILURE in 6m 46s\n- gate-ceilometer-python35 http://logs.openstack.org/08/485708/2/check/gate-ceilometer-python35/d812815/ : FAILURE in 7m 18s\n- gate-ceilometer-releasenotes http://docs-draft.openstack.org/08/485708/2/check/gate-ceilometer-releasenotes/305634a//releasenotes/build/html/ : SUCCESS in 6m 45s\n- gate-ceilometer-dsvm-functional-mongodb-ubuntu-xenial http://logs.openstack.org/08/485708/2/check/gate-ceilometer-dsvm-functional-mongodb-ubuntu-xenial/b8069e8/ : SUCCESS in 29m 00s\n- gate-ceilometer-dsvm-functional-mysql-ubuntu-xenial http://logs.openstack.org/08/485708/2/check/gate-ceilometer-dsvm-functional-mysql-ubuntu-xenial/819c91c/ : SUCCESS in 27m 53s\n- gate-ceilometer-dsvm-tempest-plugin-mongodb-ubuntu-xenial http://logs.openstack.org/08/485708/2/check/gate-ceilometer-dsvm-tempest-plugin-mongodb-ubuntu-xenial/18d92ad/ : SUCCESS in 29m 26s\n- gate-ceilometer-dsvm-tempest-plugin-mysql-ubuntu-xenial http://logs.openstack.org/08/485708/2/check/gate-ceilometer-dsvm-tempest-plugin-mysql-ubuntu-xenial/1be5897/ : SUCCESS in 23m 38s\n- gate-telemetry-dsvm-integration-ceilometer-ubuntu-xenial http://logs.openstack.org/08/485708/2/check/gate-telemetry-dsvm-integration-ceilometer-ubuntu-xenial/9605b0c/ : SUCCESS in 35m 52s\n- gate-ceilometer-dsvm-tempest-plugin-mongodb-identity-v3-only-ubuntu-xenial http://logs.openstack.org/08/485708/2/check/gate-ceilometer-dsvm-tempest-plugin-mongodb-identity-v3-only-ubuntu-xenial/300897e/ : SUCCESS in 16m 15s\n- gate-tripleo-ci-centos-7-scenario001-multinode-oooq-puppet-nv http://logs.openstack.org/08/485708/2/check/gate-tripleo-ci-centos-7-scenario001-multinode-oooq-puppet-nv/cede4b2/ : SUCCESS in 1h 50m 49s (non-voting)","accounts_in_message":[],"_revision_number":2},{"id":"9a95ae8787de19bb2d4613619d1f91b2c56ed7bc","author":{"_account_id":2813,"name":"Mehdi Abaakouk","email":"sileht@sileht.net","username":"sileht"},"date":"2017-07-24 14:18:03.000000000","message":"Uploaded patch set 3.","accounts_in_message":[],"_revision_number":3},{"id":"757192e9273a01c40aa4980c5d19b412551b2a5f","author":{"_account_id":3,"name":"Jenkins","username":"jenkins"},"date":"2017-07-24 16:18:46.000000000","message":"Patch Set 3: Verified+1\n\nBuild succeeded (check pipeline).\n\n- gate-ceilometer-docs-ubuntu-xenial http://docs-draft.openstack.org/08/485708/3/check/gate-ceilometer-docs-ubuntu-xenial/cf5b449//doc/build/html/ : SUCCESS in 2m 40s\n- gate-ceilometer-pep8-ubuntu-xenial http://logs.openstack.org/08/485708/3/check/gate-ceilometer-pep8-ubuntu-xenial/c12bb7c/ : SUCCESS in 3m 31s\n- gate-ceilometer-python27-ubuntu-xenial http://logs.openstack.org/08/485708/3/check/gate-ceilometer-python27-ubuntu-xenial/b7eb7a5/ : SUCCESS in 2m 38s\n- gate-ceilometer-python35 http://logs.openstack.org/08/485708/3/check/gate-ceilometer-python35/661843e/ : SUCCESS in 4m 14s\n- gate-ceilometer-releasenotes http://docs-draft.openstack.org/08/485708/3/check/gate-ceilometer-releasenotes/76f0169//releasenotes/build/html/ : SUCCESS in 4m 46s\n- gate-ceilometer-dsvm-functional-mongodb-ubuntu-xenial http://logs.openstack.org/08/485708/3/check/gate-ceilometer-dsvm-functional-mongodb-ubuntu-xenial/c60aff8/ : SUCCESS in 15m 22s\n- gate-ceilometer-dsvm-functional-mysql-ubuntu-xenial http://logs.openstack.org/08/485708/3/check/gate-ceilometer-dsvm-functional-mysql-ubuntu-xenial/81fa62e/ : SUCCESS in 15m 30s\n- gate-ceilometer-dsvm-tempest-plugin-mongodb-ubuntu-xenial http://logs.openstack.org/08/485708/3/check/gate-ceilometer-dsvm-tempest-plugin-mongodb-ubuntu-xenial/ed2537b/ : SUCCESS in 34m 28s\n- gate-ceilometer-dsvm-tempest-plugin-mysql-ubuntu-xenial http://logs.openstack.org/08/485708/3/check/gate-ceilometer-dsvm-tempest-plugin-mysql-ubuntu-xenial/4bc9dbc/ : SUCCESS in 26m 56s\n- gate-telemetry-dsvm-integration-ceilometer-ubuntu-xenial http://logs.openstack.org/08/485708/3/check/gate-telemetry-dsvm-integration-ceilometer-ubuntu-xenial/1c128d1/ : SUCCESS in 34m 53s\n- gate-ceilometer-dsvm-tempest-plugin-mongodb-identity-v3-only-ubuntu-xenial http://logs.openstack.org/08/485708/3/check/gate-ceilometer-dsvm-tempest-plugin-mongodb-identity-v3-only-ubuntu-xenial/cba26a0/ : SUCCESS in 24m 37s\n- gate-tripleo-ci-centos-7-scenario001-multinode-oooq-puppet-nv http://logs.openstack.org/08/485708/3/check/gate-tripleo-ci-centos-7-scenario001-multinode-oooq-puppet-nv/a3db679/ : SUCCESS in 1h 51m 24s (non-voting)","accounts_in_message":[],"_revision_number":3},{"id":"6930b41692c69204c94fb28531b6da4674c9c3b0","author":{"_account_id":6537,"name":"gordon chung","email":"gord@live.ca","username":"chungg"},"date":"2017-07-24 17:22:20.000000000","message":"Patch Set 3: Code-Review+2","accounts_in_message":[],"_revision_number":3},{"id":"4ed837832d8af4e3dfaa773f933df80cbbb02d1a","author":{"_account_id":1669,"name":"Julien Danjou","display_name":"jd","email":"julien@danjou.info","username":"jdanjou"},"date":"2017-07-24 17:27:17.000000000","message":"Patch Set 3: Code-Review+2 Workflow+1","accounts_in_message":[],"_revision_number":3},{"id":"d757a967b3b6b835c8027cc2ca7b47fb45662bf2","author":{"_account_id":3,"name":"Jenkins","username":"jenkins"},"date":"2017-07-24 17:27:28.000000000","message":"Patch Set 3: -Verified\n\nStarting gate jobs.\nhttp://status.openstack.org/zuul/","accounts_in_message":[],"_revision_number":3},{"id":"850c0217dae4403724235c9194af191770ab7acd","date":"2017-07-24 18:06:47.000000000","message":"Change has been successfully merged into the git repository by Jenkins","accounts_in_message":[],"_revision_number":3},{"id":"40ac6ad6ea29ea71b06478f3db62e47bf86dd613","author":{"_account_id":3,"name":"Jenkins","username":"jenkins"},"date":"2017-07-24 18:06:47.000000000","message":"Patch Set 3: Verified+2\n\nBuild succeeded (gate pipeline).\n\n- gate-ceilometer-docs-ubuntu-xenial http://docs-draft.openstack.org/08/485708/3/gate/gate-ceilometer-docs-ubuntu-xenial/ae2db48//doc/build/html/ : SUCCESS in 5m 39s\n- gate-ceilometer-pep8-ubuntu-xenial http://logs.openstack.org/08/485708/3/gate/gate-ceilometer-pep8-ubuntu-xenial/daa7681/ : SUCCESS in 2m 32s\n- gate-ceilometer-python27-ubuntu-xenial http://logs.openstack.org/08/485708/3/gate/gate-ceilometer-python27-ubuntu-xenial/9292233/ : SUCCESS in 2m 35s\n- gate-ceilometer-python35 http://logs.openstack.org/08/485708/3/gate/gate-ceilometer-python35/7d5627a/ : SUCCESS in 4m 25s\n- gate-ceilometer-releasenotes http://docs-draft.openstack.org/08/485708/3/gate/gate-ceilometer-releasenotes/81639d6//releasenotes/build/html/ : SUCCESS in 2m 11s\n- gate-ceilometer-dsvm-functional-mongodb-ubuntu-xenial http://logs.openstack.org/08/485708/3/gate/gate-ceilometer-dsvm-functional-mongodb-ubuntu-xenial/01aeec7/ : SUCCESS in 15m 12s\n- gate-ceilometer-dsvm-functional-mysql-ubuntu-xenial http://logs.openstack.org/08/485708/3/gate/gate-ceilometer-dsvm-functional-mysql-ubuntu-xenial/0dc205f/ : SUCCESS in 27m 04s\n- gate-ceilometer-dsvm-tempest-plugin-mongodb-ubuntu-xenial http://logs.openstack.org/08/485708/3/gate/gate-ceilometer-dsvm-tempest-plugin-mongodb-ubuntu-xenial/67d35e2/ : SUCCESS in 25m 01s\n- gate-ceilometer-dsvm-tempest-plugin-mysql-ubuntu-xenial http://logs.openstack.org/08/485708/3/gate/gate-ceilometer-dsvm-tempest-plugin-mysql-ubuntu-xenial/24b89b5/ : SUCCESS in 24m 08s\n- gate-telemetry-dsvm-integration-ceilometer-ubuntu-xenial http://logs.openstack.org/08/485708/3/gate/gate-telemetry-dsvm-integration-ceilometer-ubuntu-xenial/e5a065e/ : SUCCESS in 31m 22s\n- gate-ceilometer-dsvm-tempest-plugin-mongodb-identity-v3-only-ubuntu-xenial http://logs.openstack.org/08/485708/3/gate/gate-ceilometer-dsvm-tempest-plugin-mongodb-identity-v3-only-ubuntu-xenial/37596f0/ : SUCCESS in 15m 45s","accounts_in_message":[],"_revision_number":3}],"current_revision_number":3,"current_revision":"0302d470ae8ca4efab1791e9005495894452d21b","revisions":{"71830c6e297d63ad9f0f8a15d89fd0517501ecda":{"kind":"REWORK","_number":1,"created":"2017-07-20 15:04:53.000000000","uploader":{"_account_id":2813,"name":"Mehdi Abaakouk","email":"sileht@sileht.net","username":"sileht"},"ref":"refs/changes/08/485708/1","fetch":{"anonymous http":{"url":"https://review.opendev.org/openstack/ceilometer","ref":"refs/changes/08/485708/1","commands":{"Checkout":"git fetch https://review.opendev.org/openstack/ceilometer refs/changes/08/485708/1 \u0026\u0026 git checkout FETCH_HEAD","Cherry Pick":"git fetch https://review.opendev.org/openstack/ceilometer refs/changes/08/485708/1 \u0026\u0026 git cherry-pick FETCH_HEAD","Format Patch":"git fetch https://review.opendev.org/openstack/ceilometer refs/changes/08/485708/1 \u0026\u0026 git format-patch -1 --stdout FETCH_HEAD","Pull":"git pull https://review.opendev.org/openstack/ceilometer refs/changes/08/485708/1"}}},"commit":{"parents":[{"commit":"cf895bac402d855771a2257cb941ce24f84f6a76","subject":"cap cpu_util","web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/ceilometer/commit/cf895bac402d855771a2257cb941ce24f84f6a76"}]}],"author":{"name":"Mehdi Abaakouk","email":"sileht@redhat.com","date":"2017-07-18 06:10:38.000000000","tz":120},"committer":{"name":"Mehdi Abaakouk","email":"sileht@redhat.com","date":"2017-07-20 15:04:42.000000000","tz":120},"subject":"High precision rate of change timedelta","message":"High precision rate of change timedelta\n\nThe current way to calculate rate of change is not precise at all and\ndepends on the local host clock. So, we have good chance that the host\nclock derive a bit between each polling. Also the timestamp is polling\ncycle run and not the exact polled sample.\n\nThis makes the rate of change transformer not accurate, and maybe wrong\nif the local clock have jumped to much or if a pollster make to much\ntime to get the stats (libvirt reconnection, ...).\n\nA sample gets a new attribute monotonic_time, where we can store an\naccurate polling time using monotonic.monotonic().\n\nIn rate of change transformer, if the monotonic time is available we use\nto calculate the time delta between samples.\n\nFor instance metrics, we set monotonic_time as soon as we poll it from\nlibvirt, avoiding almost all precision issue.\n\nThat makes the rate of change precise to the nanoseconds for polled\nsamples, while keeping the timestamp identical for all samples polled\nduring one cycle.\n\nRelated-bug: #1527620\nChange-Id: I40e14fb6aa595a86df9767be5758f52b7ceafc8f\n(cherry picked from commit 251a06d5c6a636050f92984b8f969f56868c41ec)\n","web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/ceilometer/commit/71830c6e297d63ad9f0f8a15d89fd0517501ecda"}],"resolve_conflicts_web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/ceilometer/commit/71830c6e297d63ad9f0f8a15d89fd0517501ecda"}]},"branch":"refs/heads/stable/newton"},"f285fb0c05b343e41c3a4fcb9c8e5b968f29b2af":{"kind":"REWORK","_number":2,"created":"2017-07-24 12:15:46.000000000","uploader":{"_account_id":2813,"name":"Mehdi Abaakouk","email":"sileht@sileht.net","username":"sileht"},"ref":"refs/changes/08/485708/2","fetch":{"anonymous http":{"url":"https://review.opendev.org/openstack/ceilometer","ref":"refs/changes/08/485708/2","commands":{"Checkout":"git fetch https://review.opendev.org/openstack/ceilometer refs/changes/08/485708/2 \u0026\u0026 git checkout FETCH_HEAD","Cherry Pick":"git fetch https://review.opendev.org/openstack/ceilometer refs/changes/08/485708/2 \u0026\u0026 git cherry-pick FETCH_HEAD","Format Patch":"git fetch https://review.opendev.org/openstack/ceilometer refs/changes/08/485708/2 \u0026\u0026 git format-patch -1 --stdout FETCH_HEAD","Pull":"git pull https://review.opendev.org/openstack/ceilometer refs/changes/08/485708/2"}}},"commit":{"parents":[{"commit":"cf895bac402d855771a2257cb941ce24f84f6a76","subject":"cap cpu_util","web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/ceilometer/commit/cf895bac402d855771a2257cb941ce24f84f6a76"}]}],"author":{"name":"Mehdi Abaakouk","email":"sileht@redhat.com","date":"2017-07-18 06:10:38.000000000","tz":120},"committer":{"name":"Mehdi Abaakouk","email":"sileht@redhat.com","date":"2017-07-24 12:15:34.000000000","tz":120},"subject":"High precision rate of change timedelta","message":"High precision rate of change timedelta\n\nThe current way to calculate rate of change is not precise at all and\ndepends on the local host clock. So, we have good chance that the host\nclock derive a bit between each polling. Also the timestamp is polling\ncycle run and not the exact polled sample.\n\nThis makes the rate of change transformer not accurate, and maybe wrong\nif the local clock have jumped to much or if a pollster make to much\ntime to get the stats (libvirt reconnection, ...).\n\nA sample gets a new attribute monotonic_time, where we can store an\naccurate polling time using monotonic.monotonic().\n\nIn rate of change transformer, if the monotonic time is available we use\nto calculate the time delta between samples.\n\nFor instance metrics, we set monotonic_time as soon as we poll it from\nlibvirt, avoiding almost all precision issue.\n\nThat makes the rate of change precise to the nanoseconds for polled\nsamples, while keeping the timestamp identical for all samples polled\nduring one cycle.\n\nRelated-bug: #1527620\nChange-Id: I40e14fb6aa595a86df9767be5758f52b7ceafc8f\n(cherry picked from commit 251a06d5c6a636050f92984b8f969f56868c41ec)\n","web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/ceilometer/commit/f285fb0c05b343e41c3a4fcb9c8e5b968f29b2af"}],"resolve_conflicts_web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/ceilometer/commit/f285fb0c05b343e41c3a4fcb9c8e5b968f29b2af"}]},"branch":"refs/heads/stable/newton"},"0302d470ae8ca4efab1791e9005495894452d21b":{"kind":"REWORK","_number":3,"created":"2017-07-24 14:18:03.000000000","uploader":{"_account_id":2813,"name":"Mehdi Abaakouk","email":"sileht@sileht.net","username":"sileht"},"ref":"refs/changes/08/485708/3","fetch":{"anonymous http":{"url":"https://review.opendev.org/openstack/ceilometer","ref":"refs/changes/08/485708/3","commands":{"Checkout":"git fetch https://review.opendev.org/openstack/ceilometer refs/changes/08/485708/3 \u0026\u0026 git checkout FETCH_HEAD","Cherry Pick":"git fetch https://review.opendev.org/openstack/ceilometer refs/changes/08/485708/3 \u0026\u0026 git cherry-pick FETCH_HEAD","Format Patch":"git fetch https://review.opendev.org/openstack/ceilometer refs/changes/08/485708/3 \u0026\u0026 git format-patch -1 --stdout FETCH_HEAD","Pull":"git pull https://review.opendev.org/openstack/ceilometer refs/changes/08/485708/3"}}},"commit":{"parents":[{"commit":"cf895bac402d855771a2257cb941ce24f84f6a76","subject":"cap cpu_util","web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/ceilometer/commit/cf895bac402d855771a2257cb941ce24f84f6a76"}]}],"author":{"name":"Mehdi Abaakouk","email":"sileht@redhat.com","date":"2017-07-18 06:10:38.000000000","tz":120},"committer":{"name":"Mehdi Abaakouk","email":"sileht@redhat.com","date":"2017-07-24 14:17:54.000000000","tz":120},"subject":"High precision rate of change timedelta","message":"High precision rate of change timedelta\n\nThe current way to calculate rate of change is not precise at all and\ndepends on the local host clock. So, we have good chance that the host\nclock derive a bit between each polling. Also the timestamp is polling\ncycle run and not the exact polled sample.\n\nThis makes the rate of change transformer not accurate, and maybe wrong\nif the local clock have jumped to much or if a pollster make to much\ntime to get the stats (libvirt reconnection, ...).\n\nA sample gets a new attribute monotonic_time, where we can store an\naccurate polling time using monotonic.monotonic().\n\nIn rate of change transformer, if the monotonic time is available we use\nto calculate the time delta between samples.\n\nFor instance metrics, we set monotonic_time as soon as we poll it from\nlibvirt, avoiding almost all precision issue.\n\nThat makes the rate of change precise to the nanoseconds for polled\nsamples, while keeping the timestamp identical for all samples polled\nduring one cycle.\n\nRelated-bug: #1527620\nChange-Id: I40e14fb6aa595a86df9767be5758f52b7ceafc8f\n(cherry picked from commit 251a06d5c6a636050f92984b8f969f56868c41ec)\n","web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/ceilometer/commit/0302d470ae8ca4efab1791e9005495894452d21b"}],"resolve_conflicts_web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/ceilometer/commit/0302d470ae8ca4efab1791e9005495894452d21b"}]},"branch":"refs/heads/stable/newton"}},"requirements":[],"submit_records":[],"submit_requirements":[]}
