{"payload":{"feedbackUrl":"https://github.com/orgs/community/discussions/53140","repo":{"id":960233,"defaultBranch":"master","name":"xen-api","ownerLogin":"xapi-project","currentUserCanPush":false,"isFork":false,"isEmpty":false,"createdAt":"2010-10-04T10:52:57.000Z","ownerAvatar":"https://avatars.githubusercontent.com/u/317268?v=4","public":true,"private":false,"isOrgOwned":true},"refInfo":{"name":"","listCacheKey":"v0:1726737831.0","currentOid":""},"activityList":{"items":[{"before":"f51e7e7e70ca1f4c2a2ca182f8b44ed25e6017c9","after":null,"ref":"refs/heads/gh-readonly-queue/master/pr-6005-bc10ca039fc14f98e12638cc1351a045719cd6be","pushedAt":"2024-09-19T09:33:53.000Z","pushType":"branch_deletion","commitsCount":0,"pusher":{"login":"github-merge-queue[bot]","name":null,"path":"/apps/github-merge-queue","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/9919?s=80&v=4"}},{"before":"bc10ca039fc14f98e12638cc1351a045719cd6be","after":"f51e7e7e70ca1f4c2a2ca182f8b44ed25e6017c9","ref":"refs/heads/master","pushedAt":"2024-09-19T09:33:53.000Z","pushType":"merge_queue_merge","commitsCount":14,"pusher":{"login":"github-merge-queue[bot]","name":null,"path":"/apps/github-merge-queue","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/9919?s=80&v=4"},"commit":{"message":"Merge epoll feature branch to master (#6005)\n\nPending some final testing by QA, these commits have already been\nreviewed on the feature branch.\n\nThis switches `select` calls to `Unixext.select` (which is implemented\nusing `epoll`), and implements the few performance sensitive parts using\nepoll directly.\nIt also enables some more tests with >1024 fds.","shortMessageHtmlLink":"Merge epoll feature branch to master (#6005)"}},{"before":null,"after":"f51e7e7e70ca1f4c2a2ca182f8b44ed25e6017c9","ref":"refs/heads/gh-readonly-queue/master/pr-6005-bc10ca039fc14f98e12638cc1351a045719cd6be","pushedAt":"2024-09-19T09:23:51.000Z","pushType":"branch_creation","commitsCount":0,"pusher":{"login":"github-merge-queue[bot]","name":null,"path":"/apps/github-merge-queue","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/9919?s=80&v=4"},"commit":{"message":"Merge epoll feature branch to master (#6005)\n\nPending some final testing by QA, these commits have already been\nreviewed on the feature branch.\n\nThis switches `select` calls to `Unixext.select` (which is implemented\nusing `epoll`), and implements the few performance sensitive parts using\nepoll directly.\nIt also enables some more tests with >1024 fds.","shortMessageHtmlLink":"Merge epoll feature branch to master (#6005)"}},{"before":"bc10ca039fc14f98e12638cc1351a045719cd6be","after":null,"ref":"refs/heads/gh-readonly-queue/master/pr-5981-ba3b3accb519d138122cf1056751f7e5a79bd78f","pushedAt":"2024-09-19T09:07:00.000Z","pushType":"branch_deletion","commitsCount":0,"pusher":{"login":"github-merge-queue[bot]","name":null,"path":"/apps/github-merge-queue","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/9919?s=80&v=4"}},{"before":"ba3b3accb519d138122cf1056751f7e5a79bd78f","after":"bc10ca039fc14f98e12638cc1351a045719cd6be","ref":"refs/heads/master","pushedAt":"2024-09-19T09:06:59.000Z","pushType":"merge_queue_merge","commitsCount":2,"pusher":{"login":"github-merge-queue[bot]","name":null,"path":"/apps/github-merge-queue","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/9919?s=80&v=4"},"commit":{"message":"CA-398138: Handle enum value unknown error for Go SDK (#5981)\n\nBug fix for Go SDK, add an default Enum value to replace raising error\nfor unknown Enum value.\n\nBuild new SDK and samples, test pass XenRT job: 4100718.","shortMessageHtmlLink":"CA-398138: Handle enum value unknown error for Go SDK (#5981)"}},{"before":null,"after":"bc10ca039fc14f98e12638cc1351a045719cd6be","ref":"refs/heads/gh-readonly-queue/master/pr-5981-ba3b3accb519d138122cf1056751f7e5a79bd78f","pushedAt":"2024-09-19T08:56:34.000Z","pushType":"branch_creation","commitsCount":0,"pusher":{"login":"github-merge-queue[bot]","name":null,"path":"/apps/github-merge-queue","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/9919?s=80&v=4"},"commit":{"message":"CA-398138: Handle enum value unknown error for Go SDK (#5981)\n\nBug fix for Go SDK, add an default Enum value to replace raising error\nfor unknown Enum value.\n\nBuild new SDK and samples, test pass XenRT job: 4100718.","shortMessageHtmlLink":"CA-398138: Handle enum value unknown error for Go SDK (#5981)"}},{"before":"91b0fd99f6041d8b5befae5e9bbab70ee6e4a07c","after":null,"ref":"refs/heads/gh-readonly-queue/master/pr-5981-ba3b3accb519d138122cf1056751f7e5a79bd78f","pushedAt":"2024-09-19T07:26:52.000Z","pushType":"branch_deletion","commitsCount":0,"pusher":{"login":"github-merge-queue[bot]","name":null,"path":"/apps/github-merge-queue","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/9919?s=80&v=4"}},{"before":null,"after":"91b0fd99f6041d8b5befae5e9bbab70ee6e4a07c","ref":"refs/heads/gh-readonly-queue/master/pr-5981-ba3b3accb519d138122cf1056751f7e5a79bd78f","pushedAt":"2024-09-19T07:26:19.000Z","pushType":"branch_creation","commitsCount":0,"pusher":{"login":"github-merge-queue[bot]","name":null,"path":"/apps/github-merge-queue","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/9919?s=80&v=4"},"commit":{"message":"CA-398138: Handle enum value unknown error for Go SDK (#5981)\n\nBug fix for Go SDK, add an default Enum value to replace raising error\nfor unknown Enum value.\n\nBuild new SDK and samples, test pass XenRT job: 4100718.","shortMessageHtmlLink":"CA-398138: Handle enum value unknown error for Go SDK (#5981)"}},{"before":"ba3b3accb519d138122cf1056751f7e5a79bd78f","after":null,"ref":"refs/heads/gh-readonly-queue/master/pr-6001-9ff72f16f9cde64ba8cb701ce8708d6cc9091f06","pushedAt":"2024-09-18T16:03:44.000Z","pushType":"branch_deletion","commitsCount":0,"pusher":{"login":"github-merge-queue[bot]","name":null,"path":"/apps/github-merge-queue","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/9919?s=80&v=4"}},{"before":"9ff72f16f9cde64ba8cb701ce8708d6cc9091f06","after":"ba3b3accb519d138122cf1056751f7e5a79bd78f","ref":"refs/heads/master","pushedAt":"2024-09-18T16:03:44.000Z","pushType":"merge_queue_merge","commitsCount":2,"pusher":{"login":"github-merge-queue[bot]","name":null,"path":"/apps/github-merge-queue","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/9919?s=80&v=4"},"commit":{"message":"Don't use dhcp4 for none mode (#6001)\n\nFor the context, we had an strange behavior where an host installed with\nIPv6 stack only got an Ipv4 address only during the first boot due to\nthe start of a systemd service called chrony-wait. This is because\nduring the first boot the **xcp-networkd** looks for a configuration\nfrom `/etc/firstboot.d/data/management.conf` and if the `MODE=none` it\nuses DHCP4. And as chrony-wait is started it got a source in IPv4 before\nXAPI had time to reconfigure it using IPv6 stack. So we think that if\nthe MODE is none we shouldn't use DHCP4.\n\nRegards,\nGuillaume","shortMessageHtmlLink":"Don't use dhcp4 for none mode (#6001)"}},{"before":null,"after":"ba3b3accb519d138122cf1056751f7e5a79bd78f","ref":"refs/heads/gh-readonly-queue/master/pr-6001-9ff72f16f9cde64ba8cb701ce8708d6cc9091f06","pushedAt":"2024-09-18T15:53:15.000Z","pushType":"branch_creation","commitsCount":0,"pusher":{"login":"github-merge-queue[bot]","name":null,"path":"/apps/github-merge-queue","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/9919?s=80&v=4"},"commit":{"message":"Don't use dhcp4 for none mode (#6001)\n\nFor the context, we had an strange behavior where an host installed with\nIPv6 stack only got an Ipv4 address only during the first boot due to\nthe start of a systemd service called chrony-wait. This is because\nduring the first boot the **xcp-networkd** looks for a configuration\nfrom `/etc/firstboot.d/data/management.conf` and if the `MODE=none` it\nuses DHCP4. And as chrony-wait is started it got a source in IPv4 before\nXAPI had time to reconfigure it using IPv6 stack. So we think that if\nthe MODE is none we shouldn't use DHCP4.\n\nRegards,\nGuillaume","shortMessageHtmlLink":"Don't use dhcp4 for none mode (#6001)"}},{"before":"9ff72f16f9cde64ba8cb701ce8708d6cc9091f06","after":null,"ref":"refs/heads/gh-readonly-queue/master/pr-6004-21620be9e2a7d4441490c398ae635499b284e8a0","pushedAt":"2024-09-18T15:32:46.000Z","pushType":"branch_deletion","commitsCount":0,"pusher":{"login":"github-merge-queue[bot]","name":null,"path":"/apps/github-merge-queue","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/9919?s=80&v=4"}},{"before":"21620be9e2a7d4441490c398ae635499b284e8a0","after":"9ff72f16f9cde64ba8cb701ce8708d6cc9091f06","ref":"refs/heads/master","pushedAt":"2024-09-18T15:32:45.000Z","pushType":"merge_queue_merge","commitsCount":2,"pusher":{"login":"github-merge-queue[bot]","name":null,"path":"/apps/github-merge-queue","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/9919?s=80&v=4"},"commit":{"message":"CA-398128: Be wary that dates in database lose precision (#6004)\n\nDates converted from unix timestamps have subsecond precision, but dates\nserialized in the database do not. This is a change in behaviour\nintroduced in 233b96ba44b002a27205b0681f35527457b78c2c\n\nThis fix was supposed to be included in the change, but got lost. No\nother users were found that hit this change in behaviour.\n\nFixes the test about VMs pending guidances being removed when not\nneeded, job 411209","shortMessageHtmlLink":"CA-398128: Be wary that dates in database lose precision (#6004)"}},{"before":"21620be9e2a7d4441490c398ae635499b284e8a0","after":null,"ref":"refs/heads/gh-readonly-queue/master/pr-6003-739cacfefe2b15130196fcd4c9b010d893a51afa","pushedAt":"2024-09-18T15:29:34.000Z","pushType":"branch_deletion","commitsCount":0,"pusher":{"login":"github-merge-queue[bot]","name":null,"path":"/apps/github-merge-queue","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/9919?s=80&v=4"}},{"before":"739cacfefe2b15130196fcd4c9b010d893a51afa","after":"21620be9e2a7d4441490c398ae635499b284e8a0","ref":"refs/heads/master","pushedAt":"2024-09-18T15:29:33.000Z","pushType":"merge_queue_merge","commitsCount":2,"pusher":{"login":"github-merge-queue[bot]","name":null,"path":"/apps/github-merge-queue","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/9919?s=80&v=4"},"commit":{"message":"Fix network reset script in static IPv6 (#6003)\n\nOnly exits script when an error occurs when\ngetting the static IPv6 config info","shortMessageHtmlLink":"Fix network reset script in static IPv6 (#6003)"}},{"before":null,"after":"9ff72f16f9cde64ba8cb701ce8708d6cc9091f06","ref":"refs/heads/gh-readonly-queue/master/pr-6004-21620be9e2a7d4441490c398ae635499b284e8a0","pushedAt":"2024-09-18T15:20:31.000Z","pushType":"branch_creation","commitsCount":0,"pusher":{"login":"github-merge-queue[bot]","name":null,"path":"/apps/github-merge-queue","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/9919?s=80&v=4"},"commit":{"message":"CA-398128: Be wary that dates in database lose precision (#6004)\n\nDates converted from unix timestamps have subsecond precision, but dates\nserialized in the database do not. This is a change in behaviour\nintroduced in 233b96ba44b002a27205b0681f35527457b78c2c\n\nThis fix was supposed to be included in the change, but got lost. No\nother users were found that hit this change in behaviour.\n\nFixes the test about VMs pending guidances being removed when not\nneeded, job 411209","shortMessageHtmlLink":"CA-398128: Be wary that dates in database lose precision (#6004)"}},{"before":null,"after":"21620be9e2a7d4441490c398ae635499b284e8a0","ref":"refs/heads/gh-readonly-queue/master/pr-6003-739cacfefe2b15130196fcd4c9b010d893a51afa","pushedAt":"2024-09-18T15:18:20.000Z","pushType":"branch_creation","commitsCount":0,"pusher":{"login":"github-merge-queue[bot]","name":null,"path":"/apps/github-merge-queue","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/9919?s=80&v=4"},"commit":{"message":"Fix network reset script in static IPv6 (#6003)\n\nOnly exits script when an error occurs when\ngetting the static IPv6 config info","shortMessageHtmlLink":"Fix network reset script in static IPv6 (#6003)"}},{"before":"dbe5b79437d061c219e96260e7d7a8a70ccc5cd9","after":"8cf7ab229ac6c18a3c1e1cb02e90d5509af04ba0","ref":"refs/heads/feature/perf","pushedAt":"2024-09-18T12:01:04.000Z","pushType":"pr_merge","commitsCount":492,"pusher":{"login":"edwintorok","name":"Török Edwin","path":"/edwintorok","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/721894?s=80&v=4"},"commit":{"message":"Update feature/perf from master (#6000)\n\nThere is a conflict in 'dune' files, have to make PR from fork to fix,\r\nand I cannot edit the origin repo on the other PR.","shortMessageHtmlLink":"Update feature/perf from master (#6000)"}},{"before":"739cacfefe2b15130196fcd4c9b010d893a51afa","after":null,"ref":"refs/heads/gh-readonly-queue/master/pr-5975-7e9c2a3cfe5236df9b3475ed716de4c88622989b","pushedAt":"2024-09-18T11:52:28.000Z","pushType":"branch_deletion","commitsCount":0,"pusher":{"login":"github-merge-queue[bot]","name":null,"path":"/apps/github-merge-queue","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/9919?s=80&v=4"}},{"before":"7e9c2a3cfe5236df9b3475ed716de4c88622989b","after":"739cacfefe2b15130196fcd4c9b010d893a51afa","ref":"refs/heads/master","pushedAt":"2024-09-18T11:52:27.000Z","pushType":"merge_queue_merge","commitsCount":2,"pusher":{"login":"github-merge-queue[bot]","name":null,"path":"/apps/github-merge-queue","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/9919?s=80&v=4"},"commit":{"message":"xe autocompletion: Fix prefix escaping bug (#5975)\n\nBefore, having an escape sequence as part of the parameter would break\ngrep:\n```\n$ xe vdi-list name-label=CentOS\\ 7\\ \\(1grep: Unmatched ( or \\(\n```\n\nMove back to pure bash processing for the prefix, since it's the\nweirdness of variable escaping leaving the bash context causing this.","shortMessageHtmlLink":"xe autocompletion: Fix prefix escaping bug (#5975)"}},{"before":null,"after":"739cacfefe2b15130196fcd4c9b010d893a51afa","ref":"refs/heads/gh-readonly-queue/master/pr-5975-7e9c2a3cfe5236df9b3475ed716de4c88622989b","pushedAt":"2024-09-18T11:42:31.000Z","pushType":"branch_creation","commitsCount":0,"pusher":{"login":"github-merge-queue[bot]","name":null,"path":"/apps/github-merge-queue","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/9919?s=80&v=4"},"commit":{"message":"xe autocompletion: Fix prefix escaping bug (#5975)\n\nBefore, having an escape sequence as part of the parameter would break\ngrep:\n```\n$ xe vdi-list name-label=CentOS\\ 7\\ \\(1grep: Unmatched ( or \\(\n```\n\nMove back to pure bash processing for the prefix, since it's the\nweirdness of variable escaping leaving the bash context causing this.","shortMessageHtmlLink":"xe autocompletion: Fix prefix escaping bug (#5975)"}},{"before":"7e9c2a3cfe5236df9b3475ed716de4c88622989b","after":null,"ref":"refs/heads/gh-readonly-queue/master/pr-5958-33f20a95ea87a31f30b98cacf866917cbceddb6c","pushedAt":"2024-09-18T10:24:19.000Z","pushType":"branch_deletion","commitsCount":0,"pusher":{"login":"github-merge-queue[bot]","name":null,"path":"/apps/github-merge-queue","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/9919?s=80&v=4"}},{"before":"33f20a95ea87a31f30b98cacf866917cbceddb6c","after":"7e9c2a3cfe5236df9b3475ed716de4c88622989b","ref":"refs/heads/master","pushedAt":"2024-09-18T10:24:18.000Z","pushType":"merge_queue_merge","commitsCount":12,"pusher":{"login":"github-merge-queue[bot]","name":null,"path":"/apps/github-merge-queue","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/9919?s=80&v=4"},"commit":{"message":"Tracing: optimize and reduce overhead (#5958)\n\nWe've noticed some delays when tracing is enabled, and suspected it is\ndue to lock contention or GC activity created by the tracing module\nitself.\n\nI've added some benchmarks to measure the overhead of tracing, and made\nsome improvements (more improvements are possible).\nThe benchmarks test both a situation with no workload, and a situation\nwith 2 other threads: one running the same workload as the function\nunder test, and another that runs a very GC intensive workload.\n\nImproved:\n* when max spans limit is hit: don't spam syslog. Time goes down from\n202 *milli*seconds to 14 *micro*seconds per span\n* reduce lock contention: eliminate one global lock, replace with atomic\nops\n* reduce allocation\n\nWe are now at ~9µs/nested span on this particular machine, but further\nimprovements are possible by delaying work to the exporter thread and\nfinishing really quickly otherwise (e.g. upstream ocaml-trace claims\n~60ns/span).\n\nWhen tracing is disabled the overhead is very small, just like before\n(on the order of 20ns without a workload).\n\nBefore:\n```\nRunning benchmarks (no workloads)\n╭─────────────────────────────────────┬───────────────────────────┬───────────────────────────┬───────────────────────────╮\n│name │ major-allocated │ minor-allocated │ monotonic-clock │\n├─────────────────────────────────────┼───────────────────────────┼───────────────────────────┼───────────────────────────┤\n│ tracing/max span overflow │ 0.0000 mjw/run│ 1187.0000 mnw/run│ 96214066.4652 ns/run│\n│ tracing/overhead(off) │ 0.0000 mjw/run│ 14.0000 mnw/run│ 19.0061 ns/run│\n│ tracing/overhead(on, create span) │ 2.9250 mjw/run│ 496.3888 mnw/run│ 25431.5210 ns/run│\n│ tracing/overhead(on, no span) │ 0.0000 mjw/run│ 14.0000 mnw/run│ 18.8063 ns/run│\n╰─────────────────────────────────────┴───────────────────────────┴───────────────────────────┴───────────────────────────╯\n\ntracing/overhead(on, no span) (ns):\n { monotonic-clock per run = 18.806282 (confidence: 20.597860 to 16.986898);\n r² = Some 0.63699 }\ntracing/max span overflow (ns):\n { monotonic-clock per run = 96214066.465201 (confidence: 125336685.666667 to 70136316.380165);\n r² = Some 0.518256 }\ntracing/overhead(off) (ns):\n { monotonic-clock per run = 19.006133 (confidence: 20.619355 to 17.390492);\n r² = Some 0.667542 }\ntracing/overhead(on, create span) (ns):\n { monotonic-clock per run = 25431.521030 (confidence: 37607.254799 to 15151.227932);\n r² = Some 0.0329005 }\n\nRunning benchmarks (workloads)\n╭─────────────────────────────────────┬───────────────────────────┬───────────────────────────┬───────────────────────────╮\n│name │ major-allocated │ minor-allocated │ monotonic-clock │\n├─────────────────────────────────────┼───────────────────────────┼───────────────────────────┼───────────────────────────┤\n│ tracing/max span overflow │ 80934.7363 mjw/run│ 10580588.4725 mnw/run│ 202271848.5714 ns/run│\n│ tracing/overhead(off) │ 0.0000 mjw/run│ 16.5479 mnw/run│ 212.0958 ns/run│\n│ tracing/overhead(on, create span) │ 0.0000 mjw/run│ 503.4400 mnw/run│ 15633.2400 ns/run│\n│ tracing/overhead(on, no span) │ 0.0000 mjw/run│ 18.3256 mnw/run│ 326.9568 ns/run│\n╰─────────────────────────────────────┴───────────────────────────┴───────────────────────────┴───────────────────────────╯\n\ntracing/overhead(on, no span) (ns):\n { monotonic-clock per run = 326.956811; r² = Some -9.40099 }\ntracing/max span overflow (ns):\n { monotonic-clock per run = 202271848.571429; r² = Some 0.065489 }\ntracing/overhead(off) (ns):\n { monotonic-clock per run = 212.095829; r² = Some -4.46794 }\ntracing/overhead(on, create span) (ns):\n { monotonic-clock per run = 15633.240000; r² = Some 0.805726 }\n```\n\nAfter:\n```\nRunning benchmarks (no workloads)\n╭─────────────────────────────────────┬───────────────────────────┬───────────────────────────┬───────────────────────────╮\n│name │ major-allocated │ minor-allocated │ monotonic-clock │\n├─────────────────────────────────────┼───────────────────────────┼───────────────────────────┼───────────────────────────┤\n│ tracing/max span overflow │ 0.0964 mjw/run│ 379.0196 mnw/run│ 14479.0371 ns/run│\n│ tracing/overhead(off) │ 0.0000 mjw/run│ 14.0000 mnw/run│ 18.2174 ns/run│\n│ tracing/overhead(on, create span) │ 0.0000 mjw/run│ 397.3440 mnw/run│ 14712.1307 ns/run│\n│ tracing/overhead(on, no span) │ 0.0000 mjw/run│ 14.0000 mnw/run│ 18.1771 ns/run│\n╰─────────────────────────────────────┴───────────────────────────┴───────────────────────────┴───────────────────────────╯\n\ntracing/overhead(on, no span) (ns):\n { monotonic-clock per run = 18.177093 (confidence: 19.990180 to 16.374104);\n r² = Some 0.600249 }\ntracing/max span overflow (ns):\n { monotonic-clock per run = 14479.037101 (confidence: 15625.053708 to 13293.667720);\n r² = Some 0.635766 }\ntracing/overhead(off) (ns):\n { monotonic-clock per run = 18.217390 (confidence: 19.845841 to 16.442527);\n r² = Some 0.642373 }\ntracing/overhead(on, create span) (ns):\n { monotonic-clock per run = 14712.130670 (confidence: 23416.444172 to 7426.891454);\n r² = Some 0.0476263 }\n\nRunning benchmarks (workloads)\n╭─────────────────────────────────────┬───────────────────────────┬───────────────────────────┬───────────────────────────╮\n│name │ major-allocated │ minor-allocated │ monotonic-clock │\n├─────────────────────────────────────┼───────────────────────────┼───────────────────────────┼───────────────────────────┤\n│ tracing/max span overflow │ 0.0000 mjw/run│ 380.4429 mnw/run│ 7658.2207 ns/run│\n│ tracing/overhead(off) │ 0.0000 mjw/run│ 15.3007 mnw/run│ 102.2479 ns/run│\n│ tracing/overhead(on, create span) │ 0.0000 mjw/run│ 400.5094 mnw/run│ 8657.5585 ns/run│\n│ tracing/overhead(on, no span) │ 0.0000 mjw/run│ 18.1333 mnw/run│ 373.9794 ns/run│\n╰─────────────────────────────────────┴───────────────────────────┴───────────────────────────┴───────────────────────────╯\n\ntracing/overhead(on, no span) (ns):\n { monotonic-clock per run = 373.979447 (confidence: 435.400802 to 336.056569);\n r² = Some -1.84338 }\ntracing/max span overflow (ns):\n { monotonic-clock per run = 7658.220695 (confidence: 7952.878804 to 7396.117711);\n r² = Some 0.950954 }\ntracing/overhead(off) (ns):\n { monotonic-clock per run = 102.247932 (confidence: 119.364768 to 89.830417);\n r² = Some -0.607146 }\ntracing/overhead(on, create span) (ns):\n { monotonic-clock per run = 8657.558458 (confidence: 8904.596470 to 8435.216348);\n r² = Some 0.956299 }\n```\n\nDraft PR, this was only unit tested so far.","shortMessageHtmlLink":"Tracing: optimize and reduce overhead (#5958)"}},{"before":null,"after":"7e9c2a3cfe5236df9b3475ed716de4c88622989b","ref":"refs/heads/gh-readonly-queue/master/pr-5958-33f20a95ea87a31f30b98cacf866917cbceddb6c","pushedAt":"2024-09-18T10:14:33.000Z","pushType":"branch_creation","commitsCount":0,"pusher":{"login":"github-merge-queue[bot]","name":null,"path":"/apps/github-merge-queue","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/9919?s=80&v=4"},"commit":{"message":"Tracing: optimize and reduce overhead (#5958)\n\nWe've noticed some delays when tracing is enabled, and suspected it is\ndue to lock contention or GC activity created by the tracing module\nitself.\n\nI've added some benchmarks to measure the overhead of tracing, and made\nsome improvements (more improvements are possible).\nThe benchmarks test both a situation with no workload, and a situation\nwith 2 other threads: one running the same workload as the function\nunder test, and another that runs a very GC intensive workload.\n\nImproved:\n* when max spans limit is hit: don't spam syslog. Time goes down from\n202 *milli*seconds to 14 *micro*seconds per span\n* reduce lock contention: eliminate one global lock, replace with atomic\nops\n* reduce allocation\n\nWe are now at ~9µs/nested span on this particular machine, but further\nimprovements are possible by delaying work to the exporter thread and\nfinishing really quickly otherwise (e.g. upstream ocaml-trace claims\n~60ns/span).\n\nWhen tracing is disabled the overhead is very small, just like before\n(on the order of 20ns without a workload).\n\nBefore:\n```\nRunning benchmarks (no workloads)\n╭─────────────────────────────────────┬───────────────────────────┬───────────────────────────┬───────────────────────────╮\n│name │ major-allocated │ minor-allocated │ monotonic-clock │\n├─────────────────────────────────────┼───────────────────────────┼───────────────────────────┼───────────────────────────┤\n│ tracing/max span overflow │ 0.0000 mjw/run│ 1187.0000 mnw/run│ 96214066.4652 ns/run│\n│ tracing/overhead(off) │ 0.0000 mjw/run│ 14.0000 mnw/run│ 19.0061 ns/run│\n│ tracing/overhead(on, create span) │ 2.9250 mjw/run│ 496.3888 mnw/run│ 25431.5210 ns/run│\n│ tracing/overhead(on, no span) │ 0.0000 mjw/run│ 14.0000 mnw/run│ 18.8063 ns/run│\n╰─────────────────────────────────────┴───────────────────────────┴───────────────────────────┴───────────────────────────╯\n\ntracing/overhead(on, no span) (ns):\n { monotonic-clock per run = 18.806282 (confidence: 20.597860 to 16.986898);\n r² = Some 0.63699 }\ntracing/max span overflow (ns):\n { monotonic-clock per run = 96214066.465201 (confidence: 125336685.666667 to 70136316.380165);\n r² = Some 0.518256 }\ntracing/overhead(off) (ns):\n { monotonic-clock per run = 19.006133 (confidence: 20.619355 to 17.390492);\n r² = Some 0.667542 }\ntracing/overhead(on, create span) (ns):\n { monotonic-clock per run = 25431.521030 (confidence: 37607.254799 to 15151.227932);\n r² = Some 0.0329005 }\n\nRunning benchmarks (workloads)\n╭─────────────────────────────────────┬───────────────────────────┬───────────────────────────┬───────────────────────────╮\n│name │ major-allocated │ minor-allocated │ monotonic-clock │\n├─────────────────────────────────────┼───────────────────────────┼───────────────────────────┼───────────────────────────┤\n│ tracing/max span overflow │ 80934.7363 mjw/run│ 10580588.4725 mnw/run│ 202271848.5714 ns/run│\n│ tracing/overhead(off) │ 0.0000 mjw/run│ 16.5479 mnw/run│ 212.0958 ns/run│\n│ tracing/overhead(on, create span) │ 0.0000 mjw/run│ 503.4400 mnw/run│ 15633.2400 ns/run│\n│ tracing/overhead(on, no span) │ 0.0000 mjw/run│ 18.3256 mnw/run│ 326.9568 ns/run│\n╰─────────────────────────────────────┴───────────────────────────┴───────────────────────────┴───────────────────────────╯\n\ntracing/overhead(on, no span) (ns):\n { monotonic-clock per run = 326.956811; r² = Some -9.40099 }\ntracing/max span overflow (ns):\n { monotonic-clock per run = 202271848.571429; r² = Some 0.065489 }\ntracing/overhead(off) (ns):\n { monotonic-clock per run = 212.095829; r² = Some -4.46794 }\ntracing/overhead(on, create span) (ns):\n { monotonic-clock per run = 15633.240000; r² = Some 0.805726 }\n```\n\nAfter:\n```\nRunning benchmarks (no workloads)\n╭─────────────────────────────────────┬───────────────────────────┬───────────────────────────┬───────────────────────────╮\n│name │ major-allocated │ minor-allocated │ monotonic-clock │\n├─────────────────────────────────────┼───────────────────────────┼───────────────────────────┼───────────────────────────┤\n│ tracing/max span overflow │ 0.0964 mjw/run│ 379.0196 mnw/run│ 14479.0371 ns/run│\n│ tracing/overhead(off) │ 0.0000 mjw/run│ 14.0000 mnw/run│ 18.2174 ns/run│\n│ tracing/overhead(on, create span) │ 0.0000 mjw/run│ 397.3440 mnw/run│ 14712.1307 ns/run│\n│ tracing/overhead(on, no span) │ 0.0000 mjw/run│ 14.0000 mnw/run│ 18.1771 ns/run│\n╰─────────────────────────────────────┴───────────────────────────┴───────────────────────────┴───────────────────────────╯\n\ntracing/overhead(on, no span) (ns):\n { monotonic-clock per run = 18.177093 (confidence: 19.990180 to 16.374104);\n r² = Some 0.600249 }\ntracing/max span overflow (ns):\n { monotonic-clock per run = 14479.037101 (confidence: 15625.053708 to 13293.667720);\n r² = Some 0.635766 }\ntracing/overhead(off) (ns):\n { monotonic-clock per run = 18.217390 (confidence: 19.845841 to 16.442527);\n r² = Some 0.642373 }\ntracing/overhead(on, create span) (ns):\n { monotonic-clock per run = 14712.130670 (confidence: 23416.444172 to 7426.891454);\n r² = Some 0.0476263 }\n\nRunning benchmarks (workloads)\n╭─────────────────────────────────────┬───────────────────────────┬───────────────────────────┬───────────────────────────╮\n│name │ major-allocated │ minor-allocated │ monotonic-clock │\n├─────────────────────────────────────┼───────────────────────────┼───────────────────────────┼───────────────────────────┤\n│ tracing/max span overflow │ 0.0000 mjw/run│ 380.4429 mnw/run│ 7658.2207 ns/run│\n│ tracing/overhead(off) │ 0.0000 mjw/run│ 15.3007 mnw/run│ 102.2479 ns/run│\n│ tracing/overhead(on, create span) │ 0.0000 mjw/run│ 400.5094 mnw/run│ 8657.5585 ns/run│\n│ tracing/overhead(on, no span) │ 0.0000 mjw/run│ 18.1333 mnw/run│ 373.9794 ns/run│\n╰─────────────────────────────────────┴───────────────────────────┴───────────────────────────┴───────────────────────────╯\n\ntracing/overhead(on, no span) (ns):\n { monotonic-clock per run = 373.979447 (confidence: 435.400802 to 336.056569);\n r² = Some -1.84338 }\ntracing/max span overflow (ns):\n { monotonic-clock per run = 7658.220695 (confidence: 7952.878804 to 7396.117711);\n r² = Some 0.950954 }\ntracing/overhead(off) (ns):\n { monotonic-clock per run = 102.247932 (confidence: 119.364768 to 89.830417);\n r² = Some -0.607146 }\ntracing/overhead(on, create span) (ns):\n { monotonic-clock per run = 8657.558458 (confidence: 8904.596470 to 8435.216348);\n r² = Some 0.956299 }\n```\n\nDraft PR, this was only unit tested so far.","shortMessageHtmlLink":"Tracing: optimize and reduce overhead (#5958)"}},{"before":"33f20a95ea87a31f30b98cacf866917cbceddb6c","after":null,"ref":"refs/heads/gh-readonly-queue/master/pr-5999-5d6a0331fd85ea85b831b4e0a1df66f532ce0d51","pushedAt":"2024-09-18T10:13:30.000Z","pushType":"branch_deletion","commitsCount":0,"pusher":{"login":"github-merge-queue[bot]","name":null,"path":"/apps/github-merge-queue","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/9919?s=80&v=4"}},{"before":"5d6a0331fd85ea85b831b4e0a1df66f532ce0d51","after":"33f20a95ea87a31f30b98cacf866917cbceddb6c","ref":"refs/heads/master","pushedAt":"2024-09-18T10:13:30.000Z","pushType":"merge_queue_merge","commitsCount":2,"pusher":{"login":"github-merge-queue[bot]","name":null,"path":"/apps/github-merge-queue","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/9919?s=80&v=4"},"commit":{"message":"[ci]: make concurrency group more unique (#5999)\n\nWe notice that required CI checks cancel themselves even when attempting\nto merge a single PR at a time. That is probably because there are CI\njobs run on both 'push' and 'merge_group'.\n\nTry to make the concurrency group more unique by adding the github event\nname to the group key.","shortMessageHtmlLink":"[ci]: make concurrency group more unique (#5999)"}},{"before":null,"after":"33f20a95ea87a31f30b98cacf866917cbceddb6c","ref":"refs/heads/gh-readonly-queue/master/pr-5999-5d6a0331fd85ea85b831b4e0a1df66f532ce0d51","pushedAt":"2024-09-18T10:01:55.000Z","pushType":"branch_creation","commitsCount":0,"pusher":{"login":"github-merge-queue[bot]","name":null,"path":"/apps/github-merge-queue","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/9919?s=80&v=4"},"commit":{"message":"[ci]: make concurrency group more unique (#5999)\n\nWe notice that required CI checks cancel themselves even when attempting\nto merge a single PR at a time. That is probably because there are CI\njobs run on both 'push' and 'merge_group'.\n\nTry to make the concurrency group more unique by adding the github event\nname to the group key.","shortMessageHtmlLink":"[ci]: make concurrency group more unique (#5999)"}},{"before":"a92cfbfefd8def65c07e68e03803b5539ee41b6f","after":null,"ref":"refs/heads/gh-readonly-queue/master/pr-5958-5d6a0331fd85ea85b831b4e0a1df66f532ce0d51","pushedAt":"2024-09-18T09:40:55.000Z","pushType":"branch_deletion","commitsCount":0,"pusher":{"login":"github-merge-queue[bot]","name":null,"path":"/apps/github-merge-queue","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/9919?s=80&v=4"}},{"before":null,"after":"a92cfbfefd8def65c07e68e03803b5539ee41b6f","ref":"refs/heads/gh-readonly-queue/master/pr-5958-5d6a0331fd85ea85b831b4e0a1df66f532ce0d51","pushedAt":"2024-09-18T09:40:22.000Z","pushType":"branch_creation","commitsCount":0,"pusher":{"login":"github-merge-queue[bot]","name":null,"path":"/apps/github-merge-queue","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/9919?s=80&v=4"},"commit":{"message":"Tracing: optimize and reduce overhead (#5958)\n\nWe've noticed some delays when tracing is enabled, and suspected it is\ndue to lock contention or GC activity created by the tracing module\nitself.\n\nI've added some benchmarks to measure the overhead of tracing, and made\nsome improvements (more improvements are possible).\nThe benchmarks test both a situation with no workload, and a situation\nwith 2 other threads: one running the same workload as the function\nunder test, and another that runs a very GC intensive workload.\n\nImproved:\n* when max spans limit is hit: don't spam syslog. Time goes down from\n202 *milli*seconds to 14 *micro*seconds per span\n* reduce lock contention: eliminate one global lock, replace with atomic\nops\n* reduce allocation\n\nWe are now at ~9µs/nested span on this particular machine, but further\nimprovements are possible by delaying work to the exporter thread and\nfinishing really quickly otherwise (e.g. upstream ocaml-trace claims\n~60ns/span).\n\nWhen tracing is disabled the overhead is very small, just like before\n(on the order of 20ns without a workload).\n\nBefore:\n```\nRunning benchmarks (no workloads)\n╭─────────────────────────────────────┬───────────────────────────┬───────────────────────────┬───────────────────────────╮\n│name │ major-allocated │ minor-allocated │ monotonic-clock │\n├─────────────────────────────────────┼───────────────────────────┼───────────────────────────┼───────────────────────────┤\n│ tracing/max span overflow │ 0.0000 mjw/run│ 1187.0000 mnw/run│ 96214066.4652 ns/run│\n│ tracing/overhead(off) │ 0.0000 mjw/run│ 14.0000 mnw/run│ 19.0061 ns/run│\n│ tracing/overhead(on, create span) │ 2.9250 mjw/run│ 496.3888 mnw/run│ 25431.5210 ns/run│\n│ tracing/overhead(on, no span) │ 0.0000 mjw/run│ 14.0000 mnw/run│ 18.8063 ns/run│\n╰─────────────────────────────────────┴───────────────────────────┴───────────────────────────┴───────────────────────────╯\n\ntracing/overhead(on, no span) (ns):\n { monotonic-clock per run = 18.806282 (confidence: 20.597860 to 16.986898);\n r² = Some 0.63699 }\ntracing/max span overflow (ns):\n { monotonic-clock per run = 96214066.465201 (confidence: 125336685.666667 to 70136316.380165);\n r² = Some 0.518256 }\ntracing/overhead(off) (ns):\n { monotonic-clock per run = 19.006133 (confidence: 20.619355 to 17.390492);\n r² = Some 0.667542 }\ntracing/overhead(on, create span) (ns):\n { monotonic-clock per run = 25431.521030 (confidence: 37607.254799 to 15151.227932);\n r² = Some 0.0329005 }\n\nRunning benchmarks (workloads)\n╭─────────────────────────────────────┬───────────────────────────┬───────────────────────────┬───────────────────────────╮\n│name │ major-allocated │ minor-allocated │ monotonic-clock │\n├─────────────────────────────────────┼───────────────────────────┼───────────────────────────┼───────────────────────────┤\n│ tracing/max span overflow │ 80934.7363 mjw/run│ 10580588.4725 mnw/run│ 202271848.5714 ns/run│\n│ tracing/overhead(off) │ 0.0000 mjw/run│ 16.5479 mnw/run│ 212.0958 ns/run│\n│ tracing/overhead(on, create span) │ 0.0000 mjw/run│ 503.4400 mnw/run│ 15633.2400 ns/run│\n│ tracing/overhead(on, no span) │ 0.0000 mjw/run│ 18.3256 mnw/run│ 326.9568 ns/run│\n╰─────────────────────────────────────┴───────────────────────────┴───────────────────────────┴───────────────────────────╯\n\ntracing/overhead(on, no span) (ns):\n { monotonic-clock per run = 326.956811; r² = Some -9.40099 }\ntracing/max span overflow (ns):\n { monotonic-clock per run = 202271848.571429; r² = Some 0.065489 }\ntracing/overhead(off) (ns):\n { monotonic-clock per run = 212.095829; r² = Some -4.46794 }\ntracing/overhead(on, create span) (ns):\n { monotonic-clock per run = 15633.240000; r² = Some 0.805726 }\n```\n\nAfter:\n```\nRunning benchmarks (no workloads)\n╭─────────────────────────────────────┬───────────────────────────┬───────────────────────────┬───────────────────────────╮\n│name │ major-allocated │ minor-allocated │ monotonic-clock │\n├─────────────────────────────────────┼───────────────────────────┼───────────────────────────┼───────────────────────────┤\n│ tracing/max span overflow │ 0.0964 mjw/run│ 379.0196 mnw/run│ 14479.0371 ns/run│\n│ tracing/overhead(off) │ 0.0000 mjw/run│ 14.0000 mnw/run│ 18.2174 ns/run│\n│ tracing/overhead(on, create span) │ 0.0000 mjw/run│ 397.3440 mnw/run│ 14712.1307 ns/run│\n│ tracing/overhead(on, no span) │ 0.0000 mjw/run│ 14.0000 mnw/run│ 18.1771 ns/run│\n╰─────────────────────────────────────┴───────────────────────────┴───────────────────────────┴───────────────────────────╯\n\ntracing/overhead(on, no span) (ns):\n { monotonic-clock per run = 18.177093 (confidence: 19.990180 to 16.374104);\n r² = Some 0.600249 }\ntracing/max span overflow (ns):\n { monotonic-clock per run = 14479.037101 (confidence: 15625.053708 to 13293.667720);\n r² = Some 0.635766 }\ntracing/overhead(off) (ns):\n { monotonic-clock per run = 18.217390 (confidence: 19.845841 to 16.442527);\n r² = Some 0.642373 }\ntracing/overhead(on, create span) (ns):\n { monotonic-clock per run = 14712.130670 (confidence: 23416.444172 to 7426.891454);\n r² = Some 0.0476263 }\n\nRunning benchmarks (workloads)\n╭─────────────────────────────────────┬───────────────────────────┬───────────────────────────┬───────────────────────────╮\n│name │ major-allocated │ minor-allocated │ monotonic-clock │\n├─────────────────────────────────────┼───────────────────────────┼───────────────────────────┼───────────────────────────┤\n│ tracing/max span overflow │ 0.0000 mjw/run│ 380.4429 mnw/run│ 7658.2207 ns/run│\n│ tracing/overhead(off) │ 0.0000 mjw/run│ 15.3007 mnw/run│ 102.2479 ns/run│\n│ tracing/overhead(on, create span) │ 0.0000 mjw/run│ 400.5094 mnw/run│ 8657.5585 ns/run│\n│ tracing/overhead(on, no span) │ 0.0000 mjw/run│ 18.1333 mnw/run│ 373.9794 ns/run│\n╰─────────────────────────────────────┴───────────────────────────┴───────────────────────────┴───────────────────────────╯\n\ntracing/overhead(on, no span) (ns):\n { monotonic-clock per run = 373.979447 (confidence: 435.400802 to 336.056569);\n r² = Some -1.84338 }\ntracing/max span overflow (ns):\n { monotonic-clock per run = 7658.220695 (confidence: 7952.878804 to 7396.117711);\n r² = Some 0.950954 }\ntracing/overhead(off) (ns):\n { monotonic-clock per run = 102.247932 (confidence: 119.364768 to 89.830417);\n r² = Some -0.607146 }\ntracing/overhead(on, create span) (ns):\n { monotonic-clock per run = 8657.558458 (confidence: 8904.596470 to 8435.216348);\n r² = Some 0.956299 }\n```\n\nDraft PR, this was only unit tested so far.","shortMessageHtmlLink":"Tracing: optimize and reduce overhead (#5958)"}},{"before":"5ead6c60a40129b94df8d6a6aabd29b47550df22","after":null,"ref":"refs/heads/gh-readonly-queue/master/pr-5958-5d6a0331fd85ea85b831b4e0a1df66f532ce0d51","pushedAt":"2024-09-18T09:00:21.000Z","pushType":"branch_deletion","commitsCount":0,"pusher":{"login":"github-merge-queue[bot]","name":null,"path":"/apps/github-merge-queue","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/9919?s=80&v=4"}}],"hasNextPage":true,"hasPreviousPage":false,"activityType":"all","actor":null,"timePeriod":"all","sort":"DESC","perPage":30,"cursor":"Y3Vyc29yOnYyOpK7MjAyNC0wOS0xOVQwOTozMzo1My4wMDAwMDBazwAAAAS6p_4z","startCursor":"Y3Vyc29yOnYyOpK7MjAyNC0wOS0xOVQwOTozMzo1My4wMDAwMDBazwAAAAS6p_4z","endCursor":"Y3Vyc29yOnYyOpK7MjAyNC0wOS0xOFQwOTowMDoyMS4wMDAwMDBazwAAAAS5cS7w"}},"title":"Activity · xapi-project/xen-api"}