{"payload":{"feedbackUrl":"https://github.com/orgs/community/discussions/53140","repo":{"id":38812664,"defaultBranch":"master","name":"skipper","ownerLogin":"zalando","currentUserCanPush":false,"isFork":false,"isEmpty":false,"createdAt":"2015-07-09T09:54:40.000Z","ownerAvatar":"https://avatars.githubusercontent.com/u/1564818?v=4","public":true,"private":false,"isOrgOwned":true},"refInfo":{"name":"","listCacheKey":"v0:1726854147.0","currentOid":""},"activityList":{"items":[{"before":"f3088acbabb1651fd0705aa62f4bc300c4811f21","after":null,"ref":"refs/heads/filters/auth/tokeninfocache-release-mutex-early","pushedAt":"2024-09-20T17:33:12.000Z","pushType":"branch_deletion","commitsCount":0,"pusher":{"login":"AlexanderYastrebov","name":"Alexander Yastrebov","path":"/AlexanderYastrebov","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/697976?s=80&v=4"}},{"before":"d161ac57c23b2b064f024a27946239631ab80afc","after":"e34f98895ab4f845975d414df3af6704f50fa512","ref":"refs/heads/master","pushedAt":"2024-09-20T17:33:10.000Z","pushType":"pr_merge","commitsCount":1,"pusher":{"login":"AlexanderYastrebov","name":"Alexander Yastrebov","path":"/AlexanderYastrebov","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/697976?s=80&v=4"},"commit":{"message":"filters/auth: release tokeninfo cache mutex earlier (#3241)\n\n* filters/auth: reset parallelism for BenchmarkTokeninfoCache\r\n\r\nSigned-off-by: Alexander Yastrebov \r\n\r\n* filters/auth: release tokeninfo cache mutex earlier\r\n\r\nCached value is readonly so release cache mutex early to\r\ncopy and adjust cached value outside of critical section.\r\n\r\n```\r\ngoos: linux\r\ngoarch: amd64\r\npkg: github.com/zalando/skipper/filters/auth\r\ncpu: Intel(R) Core(TM) i5-8350U CPU @ 1.70GHz\r\n │ HEAD~1 │ HEAD │\r\n │ sec/op │ sec/op vs base │\r\nTokeninfoCache/tokens=1,cacheSize=1,p=0-8 639.4n ± 21% 271.9n ± 6% -57.48% (p=0.000 n=10)\r\nTokeninfoCache/tokens=2,cacheSize=2,p=0-8 625.7n ± 24% 420.4n ± 32% -32.81% (p=0.000 n=10)\r\nTokeninfoCache/tokens=100,cacheSize=100,p=0-8 869.8n ± 17% 463.4n ± 3% -46.72% (p=0.000 n=10)\r\nTokeninfoCache/tokens=100,cacheSize=100,p=10000-8 670.8n ± 12% 594.6n ± 2% -11.36% (p=0.000 n=10)\r\nTokeninfoCache/tokens=4,cacheSize=2,p=0-8 2.553m ± 1% 2.554m ± 1% ~ (p=0.684 n=10)\r\nTokeninfoCache/tokens=100,cacheSize=10,p=0-8 2.581m ± 1% 2.566m ± 0% ~ (p=0.089 n=10)\r\ngeomean 10.74µ 7.688µ -28.44%\r\n\r\n │ HEAD~1 │ HEAD │\r\n │ B/op │ B/op vs base │\r\nTokeninfoCache/tokens=1,cacheSize=1,p=0-8 344.0 ± 0% 344.0 ± 0% ~ (p=1.000 n=10) ¹\r\nTokeninfoCache/tokens=2,cacheSize=2,p=0-8 344.0 ± 0% 344.0 ± 0% ~ (p=1.000 n=10) ¹\r\nTokeninfoCache/tokens=100,cacheSize=100,p=0-8 344.0 ± 0% 344.0 ± 0% ~ (p=1.000 n=10) ¹\r\nTokeninfoCache/tokens=100,cacheSize=100,p=10000-8 366.0 ± 0% 366.0 ± 1% ~ (p=0.452 n=10)\r\nTokeninfoCache/tokens=4,cacheSize=2,p=0-8 27.00 ± 4% 27.00 ± 0% ~ (p=0.474 n=10)\r\nTokeninfoCache/tokens=100,cacheSize=10,p=0-8 28.00 ± 7% 27.00 ± 7% ~ (p=0.259 n=10)\r\ngeomean 149.7 148.8 -0.60%\r\n¹ all samples are equal\r\n\r\n │ HEAD~1 │ HEAD │\r\n │ allocs/op │ allocs/op vs base │\r\nTokeninfoCache/tokens=1,cacheSize=1,p=0-8 3.000 ± 0% 3.000 ± 0% ~ (p=1.000 n=10) ¹\r\nTokeninfoCache/tokens=2,cacheSize=2,p=0-8 3.000 ± 0% 3.000 ± 0% ~ (p=1.000 n=10) ¹\r\nTokeninfoCache/tokens=100,cacheSize=100,p=0-8 3.000 ± 0% 3.000 ± 0% ~ (p=1.000 n=10) ¹\r\nTokeninfoCache/tokens=100,cacheSize=100,p=10000-8 3.000 ± 0% 3.000 ± 0% ~ (p=1.000 n=10) ¹\r\nTokeninfoCache/tokens=4,cacheSize=2,p=0-8 0.000 ± 0% 0.000 ± 0% ~ (p=1.000 n=10) ¹\r\nTokeninfoCache/tokens=100,cacheSize=10,p=0-8 0.000 ± 0% 0.000 ± 0% ~ (p=1.000 n=10) ¹\r\ngeomean ² +0.00% ²\r\n¹ all samples are equal\r\n² summaries must be >0 to compute geomean\r\n```\r\n\r\nSigned-off-by: Alexander Yastrebov \r\n\r\n---------\r\n\r\nSigned-off-by: Alexander Yastrebov ","shortMessageHtmlLink":"filters/auth: release tokeninfo cache mutex earlier (#3241)"}},{"before":"a3fb87425170f2328b0d443be6c5966e0c3d97e2","after":"f3088acbabb1651fd0705aa62f4bc300c4811f21","ref":"refs/heads/filters/auth/tokeninfocache-release-mutex-early","pushedAt":"2024-09-20T15:38:03.000Z","pushType":"force_push","commitsCount":0,"pusher":{"login":"AlexanderYastrebov","name":"Alexander Yastrebov","path":"/AlexanderYastrebov","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/697976?s=80&v=4"},"commit":{"message":"filters/auth: release tokeninfo cache mutex earlier\n\nCached value is readonly so release cache mutex early to\ncopy and adjust cached value outside of critical section.\n\n```\ngoos: linux\ngoarch: amd64\npkg: github.com/zalando/skipper/filters/auth\ncpu: Intel(R) Core(TM) i5-8350U CPU @ 1.70GHz\n │ HEAD~1 │ HEAD │\n │ sec/op │ sec/op vs base │\nTokeninfoCache/tokens=1,cacheSize=1,p=0-8 639.4n ± 21% 271.9n ± 6% -57.48% (p=0.000 n=10)\nTokeninfoCache/tokens=2,cacheSize=2,p=0-8 625.7n ± 24% 420.4n ± 32% -32.81% (p=0.000 n=10)\nTokeninfoCache/tokens=100,cacheSize=100,p=0-8 869.8n ± 17% 463.4n ± 3% -46.72% (p=0.000 n=10)\nTokeninfoCache/tokens=100,cacheSize=100,p=10000-8 670.8n ± 12% 594.6n ± 2% -11.36% (p=0.000 n=10)\nTokeninfoCache/tokens=4,cacheSize=2,p=0-8 2.553m ± 1% 2.554m ± 1% ~ (p=0.684 n=10)\nTokeninfoCache/tokens=100,cacheSize=10,p=0-8 2.581m ± 1% 2.566m ± 0% ~ (p=0.089 n=10)\ngeomean 10.74µ 7.688µ -28.44%\n\n │ HEAD~1 │ HEAD │\n │ B/op │ B/op vs base │\nTokeninfoCache/tokens=1,cacheSize=1,p=0-8 344.0 ± 0% 344.0 ± 0% ~ (p=1.000 n=10) ¹\nTokeninfoCache/tokens=2,cacheSize=2,p=0-8 344.0 ± 0% 344.0 ± 0% ~ (p=1.000 n=10) ¹\nTokeninfoCache/tokens=100,cacheSize=100,p=0-8 344.0 ± 0% 344.0 ± 0% ~ (p=1.000 n=10) ¹\nTokeninfoCache/tokens=100,cacheSize=100,p=10000-8 366.0 ± 0% 366.0 ± 1% ~ (p=0.452 n=10)\nTokeninfoCache/tokens=4,cacheSize=2,p=0-8 27.00 ± 4% 27.00 ± 0% ~ (p=0.474 n=10)\nTokeninfoCache/tokens=100,cacheSize=10,p=0-8 28.00 ± 7% 27.00 ± 7% ~ (p=0.259 n=10)\ngeomean 149.7 148.8 -0.60%\n¹ all samples are equal\n\n │ HEAD~1 │ HEAD │\n │ allocs/op │ allocs/op vs base │\nTokeninfoCache/tokens=1,cacheSize=1,p=0-8 3.000 ± 0% 3.000 ± 0% ~ (p=1.000 n=10) ¹\nTokeninfoCache/tokens=2,cacheSize=2,p=0-8 3.000 ± 0% 3.000 ± 0% ~ (p=1.000 n=10) ¹\nTokeninfoCache/tokens=100,cacheSize=100,p=0-8 3.000 ± 0% 3.000 ± 0% ~ (p=1.000 n=10) ¹\nTokeninfoCache/tokens=100,cacheSize=100,p=10000-8 3.000 ± 0% 3.000 ± 0% ~ (p=1.000 n=10) ¹\nTokeninfoCache/tokens=4,cacheSize=2,p=0-8 0.000 ± 0% 0.000 ± 0% ~ (p=1.000 n=10) ¹\nTokeninfoCache/tokens=100,cacheSize=10,p=0-8 0.000 ± 0% 0.000 ± 0% ~ (p=1.000 n=10) ¹\ngeomean ² +0.00% ²\n¹ all samples are equal\n² summaries must be >0 to compute geomean\n```\n\nSigned-off-by: Alexander Yastrebov ","shortMessageHtmlLink":"filters/auth: release tokeninfo cache mutex earlier"}},{"before":null,"after":"a3fb87425170f2328b0d443be6c5966e0c3d97e2","ref":"refs/heads/filters/auth/tokeninfocache-release-mutex-early","pushedAt":"2024-09-20T13:04:57.000Z","pushType":"branch_creation","commitsCount":0,"pusher":{"login":"AlexanderYastrebov","name":"Alexander Yastrebov","path":"/AlexanderYastrebov","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/697976?s=80&v=4"},"commit":{"message":"filters/auth: release tokeninfo cache mutex earlier\n\nCached value is readonly so release cache mutex early to\ncopy and adjust cached value outside of critical section.\n\n```\ngoos: linux\ngoarch: amd64\npkg: github.com/zalando/skipper/filters/auth\ncpu: Intel(R) Core(TM) i5-8350U CPU @ 1.70GHz\n │ HEAD~1 │ HEAD │\n │ sec/op │ sec/op vs base │\nTokeninfoCache/tokens=1,cacheSize=1,p=0-8 639.4n ± 21% 271.9n ± 6% -57.48% (p=0.000 n=10)\nTokeninfoCache/tokens=2,cacheSize=2,p=0-8 625.7n ± 24% 420.4n ± 32% -32.81% (p=0.000 n=10)\nTokeninfoCache/tokens=100,cacheSize=100,p=0-8 869.8n ± 17% 463.4n ± 3% -46.72% (p=0.000 n=10)\nTokeninfoCache/tokens=100,cacheSize=100,p=10000-8 670.8n ± 12% 594.6n ± 2% -11.36% (p=0.000 n=10)\nTokeninfoCache/tokens=4,cacheSize=2,p=0-8 2.553m ± 1% 2.554m ± 1% ~ (p=0.684 n=10)\nTokeninfoCache/tokens=100,cacheSize=10,p=0-8 2.581m ± 1% 2.566m ± 0% ~ (p=0.089 n=10)\ngeomean 10.74µ 7.688µ -28.44%\n\n │ HEAD~1 │ HEAD │\n │ B/op │ B/op vs base │\nTokeninfoCache/tokens=1,cacheSize=1,p=0-8 344.0 ± 0% 344.0 ± 0% ~ (p=1.000 n=10) ¹\nTokeninfoCache/tokens=2,cacheSize=2,p=0-8 344.0 ± 0% 344.0 ± 0% ~ (p=1.000 n=10) ¹\nTokeninfoCache/tokens=100,cacheSize=100,p=0-8 344.0 ± 0% 344.0 ± 0% ~ (p=1.000 n=10) ¹\nTokeninfoCache/tokens=100,cacheSize=100,p=10000-8 366.0 ± 0% 366.0 ± 1% ~ (p=0.452 n=10)\nTokeninfoCache/tokens=4,cacheSize=2,p=0-8 27.00 ± 4% 27.00 ± 0% ~ (p=0.474 n=10)\nTokeninfoCache/tokens=100,cacheSize=10,p=0-8 28.00 ± 7% 27.00 ± 7% ~ (p=0.259 n=10)\ngeomean 149.7 148.8 -0.60%\n¹ all samples are equal\n\n │ HEAD~1 │ HEAD │\n │ allocs/op │ allocs/op vs base │\nTokeninfoCache/tokens=1,cacheSize=1,p=0-8 3.000 ± 0% 3.000 ± 0% ~ (p=1.000 n=10) ¹\nTokeninfoCache/tokens=2,cacheSize=2,p=0-8 3.000 ± 0% 3.000 ± 0% ~ (p=1.000 n=10) ¹\nTokeninfoCache/tokens=100,cacheSize=100,p=0-8 3.000 ± 0% 3.000 ± 0% ~ (p=1.000 n=10) ¹\nTokeninfoCache/tokens=100,cacheSize=100,p=10000-8 3.000 ± 0% 3.000 ± 0% ~ (p=1.000 n=10) ¹\nTokeninfoCache/tokens=4,cacheSize=2,p=0-8 0.000 ± 0% 0.000 ± 0% ~ (p=1.000 n=10) ¹\nTokeninfoCache/tokens=100,cacheSize=10,p=0-8 0.000 ± 0% 0.000 ± 0% ~ (p=1.000 n=10) ¹\ngeomean ² +0.00% ²\n¹ all samples are equal\n² summaries must be >0 to compute geomean\n```\n\nSigned-off-by: Alexander Yastrebov ","shortMessageHtmlLink":"filters/auth: release tokeninfo cache mutex earlier"}},{"before":"97107b45b0421079375d93cc79488b18d5c8c1fe","after":null,"ref":"refs/heads/filters/auth/tokeninfocache-fix-assert","pushedAt":"2024-09-19T20:25:18.000Z","pushType":"branch_deletion","commitsCount":0,"pusher":{"login":"AlexanderYastrebov","name":"Alexander Yastrebov","path":"/AlexanderYastrebov","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/697976?s=80&v=4"}},{"before":"7f6f0378e85e083c276224e60ee0fe2ebe747fc7","after":"d161ac57c23b2b064f024a27946239631ab80afc","ref":"refs/heads/master","pushedAt":"2024-09-19T20:25:16.000Z","pushType":"pr_merge","commitsCount":1,"pusher":{"login":"AlexanderYastrebov","name":"Alexander Yastrebov","path":"/AlexanderYastrebov","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/697976?s=80&v=4"},"commit":{"message":"filters/auth: fix assert usage in tokeninfocache tests (#3240)\n\nSecond argument of assert.Equal should be expected value.\r\n\r\nSigned-off-by: Alexander Yastrebov ","shortMessageHtmlLink":"filters/auth: fix assert usage in tokeninfocache tests (#3240)"}},{"before":"f90f97dca11807ec46bfa16d7415c6ba3e025f63","after":null,"ref":"refs/heads/predicates/host/hostany-benchmark","pushedAt":"2024-09-19T17:47:25.000Z","pushType":"branch_deletion","commitsCount":0,"pusher":{"login":"AlexanderYastrebov","name":"Alexander Yastrebov","path":"/AlexanderYastrebov","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/697976?s=80&v=4"}},{"before":"3c2a615fb98ed7b73bef2147c04dc34d1ce52f16","after":"7f6f0378e85e083c276224e60ee0fe2ebe747fc7","ref":"refs/heads/master","pushedAt":"2024-09-19T17:47:24.000Z","pushType":"pr_merge","commitsCount":1,"pusher":{"login":"AlexanderYastrebov","name":"Alexander Yastrebov","path":"/AlexanderYastrebov","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/697976?s=80&v=4"},"commit":{"message":"predicates/host: add HostAny benchmark (#3239)\n\nCurrent implementation uses linear probe that works well for small number\r\nof hosts.\r\n\r\nI thought about implementing it using map lookup but that is slower for\r\nless than 50 hosts so I propose to only keep the benchmark that may be used\r\nfor future improvements.\r\n\r\nHere is comparison with map-based implementation for reference:\r\n```\r\n │ HEAD~1 │ HEAD │\r\n │ sec/op │ sec/op vs base │\r\nHostAny/1-8 3.738n ± 3% 5.844n ± 3% +56.36% (p=0.000 n=10)\r\nHostAny/2-8 7.728n ± 4% 9.274n ± 2% +20.02% (p=0.000 n=10)\r\nHostAny/5-8 11.32n ± 4% 13.09n ± 4% +15.63% (p=0.000 n=10)\r\nHostAny/10-8 22.35n ± 3% 11.86n ± 15% -46.94% (p=0.000 n=10)\r\nHostAny/20-8 7.684n ± 2% 11.310n ± 9% +47.19% (p=0.000 n=10)\r\nHostAny/50-8 66.75n ± 4% 12.10n ± 12% -81.87% (p=0.000 n=10)\r\nHostAny/100-8 161.80n ± 1% 11.92n ± 13% -92.63% (p=0.000 n=10)\r\ngeomean 17.98n 10.46n -41.79%\r\n\r\n │ HEAD~1 │ HEAD │\r\n │ B/op │ B/op vs base │\r\nHostAny/1-8 0.000 ± 0% 0.000 ± 0% ~ (p=1.000 n=10) ¹\r\nHostAny/2-8 0.000 ± 0% 0.000 ± 0% ~ (p=1.000 n=10) ¹\r\nHostAny/5-8 0.000 ± 0% 0.000 ± 0% ~ (p=1.000 n=10) ¹\r\nHostAny/10-8 0.000 ± 0% 0.000 ± 0% ~ (p=1.000 n=10) ¹\r\nHostAny/20-8 0.000 ± 0% 0.000 ± 0% ~ (p=1.000 n=10) ¹\r\nHostAny/50-8 0.000 ± 0% 0.000 ± 0% ~ (p=1.000 n=10) ¹\r\nHostAny/100-8 0.000 ± 0% 0.000 ± 0% ~ (p=1.000 n=10) ¹\r\ngeomean ² +0.00% ²\r\n¹ all samples are equal\r\n² summaries must be >0 to compute geomean\r\n\r\n │ HEAD~1 │ HEAD │\r\n │ allocs/op │ allocs/op vs base │\r\nHostAny/1-8 0.000 ± 0% 0.000 ± 0% ~ (p=1.000 n=10) ¹\r\nHostAny/2-8 0.000 ± 0% 0.000 ± 0% ~ (p=1.000 n=10) ¹\r\nHostAny/5-8 0.000 ± 0% 0.000 ± 0% ~ (p=1.000 n=10) ¹\r\nHostAny/10-8 0.000 ± 0% 0.000 ± 0% ~ (p=1.000 n=10) ¹\r\nHostAny/20-8 0.000 ± 0% 0.000 ± 0% ~ (p=1.000 n=10) ¹\r\nHostAny/50-8 0.000 ± 0% 0.000 ± 0% ~ (p=1.000 n=10) ¹\r\nHostAny/100-8 0.000 ± 0% 0.000 ± 0% ~ (p=1.000 n=10) ¹\r\ngeomean ² +0.00% ²\r\n¹ all samples are equal\r\n² summaries must be >0 to compute geomean\r\n```\r\n\r\nSigned-off-by: Alexander Yastrebov ","shortMessageHtmlLink":"predicates/host: add HostAny benchmark (#3239)"}},{"before":null,"after":"97107b45b0421079375d93cc79488b18d5c8c1fe","ref":"refs/heads/filters/auth/tokeninfocache-fix-assert","pushedAt":"2024-09-19T17:24:20.000Z","pushType":"branch_creation","commitsCount":0,"pusher":{"login":"AlexanderYastrebov","name":"Alexander Yastrebov","path":"/AlexanderYastrebov","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/697976?s=80&v=4"},"commit":{"message":"filters/auth: fix assert usage in tokeninfocache tests\n\nSecond argument of assert.Equal should be expected value.\n\nSigned-off-by: Alexander Yastrebov ","shortMessageHtmlLink":"filters/auth: fix assert usage in tokeninfocache tests"}},{"before":null,"after":"f90f97dca11807ec46bfa16d7415c6ba3e025f63","ref":"refs/heads/predicates/host/hostany-benchmark","pushedAt":"2024-09-19T17:03:19.000Z","pushType":"branch_creation","commitsCount":0,"pusher":{"login":"AlexanderYastrebov","name":"Alexander Yastrebov","path":"/AlexanderYastrebov","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/697976?s=80&v=4"},"commit":{"message":"predicates/host: add HostAny benchmark\n\nCurrent implementation uses linear probe that works well for small number\nof hosts.\n\nI thought about implementing it using map lookup but that is slower for\nless than 50 hosts so I propose to only keep the benchmark that may be used\nfor future improvements.\n\nHere is comparison with map-based implementation for reference:\n```\n │ HEAD~1 │ HEAD │\n │ sec/op │ sec/op vs base │\nHostAny/1-8 3.738n ± 3% 5.844n ± 3% +56.36% (p=0.000 n=10)\nHostAny/2-8 7.728n ± 4% 9.274n ± 2% +20.02% (p=0.000 n=10)\nHostAny/5-8 11.32n ± 4% 13.09n ± 4% +15.63% (p=0.000 n=10)\nHostAny/10-8 22.35n ± 3% 11.86n ± 15% -46.94% (p=0.000 n=10)\nHostAny/20-8 7.684n ± 2% 11.310n ± 9% +47.19% (p=0.000 n=10)\nHostAny/50-8 66.75n ± 4% 12.10n ± 12% -81.87% (p=0.000 n=10)\nHostAny/100-8 161.80n ± 1% 11.92n ± 13% -92.63% (p=0.000 n=10)\ngeomean 17.98n 10.46n -41.79%\n\n │ HEAD~1 │ HEAD │\n │ B/op │ B/op vs base │\nHostAny/1-8 0.000 ± 0% 0.000 ± 0% ~ (p=1.000 n=10) ¹\nHostAny/2-8 0.000 ± 0% 0.000 ± 0% ~ (p=1.000 n=10) ¹\nHostAny/5-8 0.000 ± 0% 0.000 ± 0% ~ (p=1.000 n=10) ¹\nHostAny/10-8 0.000 ± 0% 0.000 ± 0% ~ (p=1.000 n=10) ¹\nHostAny/20-8 0.000 ± 0% 0.000 ± 0% ~ (p=1.000 n=10) ¹\nHostAny/50-8 0.000 ± 0% 0.000 ± 0% ~ (p=1.000 n=10) ¹\nHostAny/100-8 0.000 ± 0% 0.000 ± 0% ~ (p=1.000 n=10) ¹\ngeomean ² +0.00% ²\n¹ all samples are equal\n² summaries must be >0 to compute geomean\n\n │ HEAD~1 │ HEAD │\n │ allocs/op │ allocs/op vs base │\nHostAny/1-8 0.000 ± 0% 0.000 ± 0% ~ (p=1.000 n=10) ¹\nHostAny/2-8 0.000 ± 0% 0.000 ± 0% ~ (p=1.000 n=10) ¹\nHostAny/5-8 0.000 ± 0% 0.000 ± 0% ~ (p=1.000 n=10) ¹\nHostAny/10-8 0.000 ± 0% 0.000 ± 0% ~ (p=1.000 n=10) ¹\nHostAny/20-8 0.000 ± 0% 0.000 ± 0% ~ (p=1.000 n=10) ¹\nHostAny/50-8 0.000 ± 0% 0.000 ± 0% ~ (p=1.000 n=10) ¹\nHostAny/100-8 0.000 ± 0% 0.000 ± 0% ~ (p=1.000 n=10) ¹\ngeomean ² +0.00% ²\n¹ all samples are equal\n² summaries must be >0 to compute geomean\n```\n\nSigned-off-by: Alexander Yastrebov ","shortMessageHtmlLink":"predicates/host: add HostAny benchmark"}},{"before":"1b3cffd4577725022dfc2326afbfa4d9c7468d10","after":"4d99d6e056ee42b8b4ac12e76aba5c073899695f","ref":"refs/heads/gh-pages","pushedAt":"2024-09-19T16:21:59.000Z","pushType":"force_push","commitsCount":0,"pusher":{"login":"github-actions[bot]","name":null,"path":"/apps/github-actions","primaryAvatarUrl":"https://avatars.githubusercontent.com/in/15368?s=80&v=4"},"commit":{"message":"Deployed 3c2a615 with MkDocs version: 1.6.1","shortMessageHtmlLink":"Deployed 3c2a615 with MkDocs version: 1.6.1"}},{"before":"7b74d4707507829abe054af2199a846ad7618cf0","after":"3c2a615fb98ed7b73bef2147c04dc34d1ce52f16","ref":"refs/heads/master","pushedAt":"2024-09-19T16:21:34.000Z","pushType":"pr_merge","commitsCount":1,"pusher":{"login":"AlexanderYastrebov","name":"Alexander Yastrebov","path":"/AlexanderYastrebov","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/697976?s=80&v=4"},"commit":{"message":"Add configurable cookie name prefix for the OIDC filter (#3234)\n\nAllow specifying cookie name prefix for OIDC filters\r\n\r\nSigned-off-by: Carl Zhou ","shortMessageHtmlLink":"Add configurable cookie name prefix for the OIDC filter (#3234)"}},{"before":null,"after":"bef2f8b22c04a03d2ef46663315c08c40fa32db8","ref":"refs/heads/feature/dc-az-awareness","pushedAt":"2024-09-19T16:01:35.000Z","pushType":"branch_creation","commitsCount":0,"pusher":{"login":"szuecs","name":"Sandor Szücs","path":"/szuecs","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/50872?s=80&v=4"},"commit":{"message":"feature: dataclient kubernetes zone awareness\n\nredis should not be part of the az awareness as used by global rate limit\n\nSigned-off-by: Sandor Szücs ","shortMessageHtmlLink":"feature: dataclient kubernetes zone awareness"}},{"before":"1ed2e452a15e16895fdc7ebeeaca226d0466b684","after":null,"ref":"refs/heads/filters/auth/yamlconfig","pushedAt":"2024-09-19T15:38:00.000Z","pushType":"branch_deletion","commitsCount":0,"pusher":{"login":"AlexanderYastrebov","name":"Alexander Yastrebov","path":"/AlexanderYastrebov","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/697976?s=80&v=4"}},{"before":"e085caa96c1e34b548dfe35d6d54180b0505cefe","after":"7b74d4707507829abe054af2199a846ad7618cf0","ref":"refs/heads/master","pushedAt":"2024-09-19T15:37:58.000Z","pushType":"pr_merge","commitsCount":1,"pusher":{"login":"AlexanderYastrebov","name":"Alexander Yastrebov","path":"/AlexanderYastrebov","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/697976?s=80&v=4"},"commit":{"message":"filters/auth: cache yaml config (#3225)\n\n* filters/auth: benchmark jwtMetrics filter creation\r\n\r\nSigned-off-by: Alexander Yastrebov \r\n\r\n* filters/auth: cache yaml config\r\n\r\nCache parsed yaml config for `jwtMetrics` and `oauthTokeninfoValidate`\r\nfilters to avoid parsing the same configuration over and over\r\nwhen these filters are appended as default filters to all routes.\r\n\r\n```\r\n │ HEAD~1 │ HEAD │\r\n │ sec/op │ sec/op vs base │\r\nJwtMetrics_CreateFilter-8 30777.00n ± 6% 18.45n ± 11% -99.94% (p=0.000 n=10)\r\n\r\n │ HEAD~1 │ HEAD │\r\n │ B/op │ B/op vs base │\r\nJwtMetrics_CreateFilter-8 24.33Ki ± 0% 0.00Ki ± 0% -100.00% (p=0.000 n=10)\r\n\r\n │ HEAD~1 │ HEAD │\r\n │ allocs/op │ allocs/op vs base │\r\nJwtMetrics_CreateFilter-8 180.0 ± 0% 0.0 ± 0% -100.00% (p=0.000 n=10)\r\n```\r\n\r\nSigned-off-by: Alexander Yastrebov \r\n\r\n---------\r\n\r\nSigned-off-by: Alexander Yastrebov ","shortMessageHtmlLink":"filters/auth: cache yaml config (#3225)"}},{"before":"5ebcdb59a913af7bf958ef16587206423e98b9d4","after":"640de804beed3fd29e6acd3af05fa20eecee588f","ref":"refs/heads/feature/push-endpoints-zone-aware-routing-option3","pushedAt":"2024-09-18T19:42:23.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"szuecs","name":"Sandor Szücs","path":"/szuecs","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/50872?s=80&v=4"},"commit":{"message":"fix imports\n\nSigned-off-by: Sandor Szücs ","shortMessageHtmlLink":"fix imports"}},{"before":null,"after":"5ebcdb59a913af7bf958ef16587206423e98b9d4","ref":"refs/heads/feature/push-endpoints-zone-aware-routing-option3","pushedAt":"2024-09-18T19:37:21.000Z","pushType":"branch_creation","commitsCount":0,"pusher":{"login":"szuecs","name":"Sandor Szücs","path":"/szuecs","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/50872?s=80&v=4"},"commit":{"message":"safe work\n\nSigned-off-by: Sandor Szücs ","shortMessageHtmlLink":"safe work"}},{"before":null,"after":"e6840ef3562d025d8a218a7668e0afedbec6f80f","ref":"refs/heads/feature/header-encoder-filter","pushedAt":"2024-09-18T14:59:21.000Z","pushType":"branch_creation","commitsCount":0,"pusher":{"login":"szuecs","name":"Sandor Szücs","path":"/szuecs","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/50872?s=80&v=4"},"commit":{"message":"add test cases, request header test fails\n\nSigned-off-by: Sandor Szücs ","shortMessageHtmlLink":"add test cases, request header test fails"}},{"before":"d6b51163c4a560a1d7dd146bee0abadfbab7925f","after":"510e649d569e516c1d92d2e2445e0c903a23f32d","ref":"refs/heads/feature/flight-recorder","pushedAt":"2024-09-17T15:06:17.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"szuecs","name":"Sandor Szücs","path":"/szuecs","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/50872?s=80&v=4"},"commit":{"message":"remove stop\n\nSigned-off-by: Sandor Szücs ","shortMessageHtmlLink":"remove stop"}},{"before":"0420599fbca5a60ae767825a5b5eced9a511983d","after":"d6b51163c4a560a1d7dd146bee0abadfbab7925f","ref":"refs/heads/feature/flight-recorder","pushedAt":"2024-09-17T14:23:35.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"szuecs","name":"Sandor Szücs","path":"/szuecs","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/50872?s=80&v=4"},"commit":{"message":"fix: disabled flightRecorder would hang in writeTraceIfTooSlow\n\nSigned-off-by: Sandor Szücs ","shortMessageHtmlLink":"fix: disabled flightRecorder would hang in writeTraceIfTooSlow"}},{"before":"328f92af1b589a4dba3f7d623ef67ff63abb6872","after":null,"ref":"refs/heads/dependabot/docker/dot-clusterfuzzlite/oss-fuzz-base/base-builder-go-130bed23f6e9f8f09963a4165d814b66164967c300409aeb8a6f6db48b6783ff","pushedAt":"2024-09-16T11:47:31.000Z","pushType":"branch_deletion","commitsCount":0,"pusher":{"login":"AlexanderYastrebov","name":"Alexander Yastrebov","path":"/AlexanderYastrebov","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/697976?s=80&v=4"}},{"before":"7cb3dc275ab4594a4e8219c4a2c1e954bb2847a9","after":"e085caa96c1e34b548dfe35d6d54180b0505cefe","ref":"refs/heads/master","pushedAt":"2024-09-16T11:47:29.000Z","pushType":"pr_merge","commitsCount":1,"pusher":{"login":"AlexanderYastrebov","name":"Alexander Yastrebov","path":"/AlexanderYastrebov","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/697976?s=80&v=4"},"commit":{"message":"build(deps): bump oss-fuzz-base/base-builder-go in /.clusterfuzzlite (#3227)\n\nBumps oss-fuzz-base/base-builder-go from `71ed90b` to `130bed2`.\r\n\r\n---\r\nupdated-dependencies:\r\n- dependency-name: oss-fuzz-base/base-builder-go\r\n dependency-type: direct:production\r\n...\r\n\r\nSigned-off-by: dependabot[bot] \r\nCo-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>","shortMessageHtmlLink":"build(deps): bump oss-fuzz-base/base-builder-go in /.clusterfuzzlite (#…"}},{"before":null,"after":"328f92af1b589a4dba3f7d623ef67ff63abb6872","ref":"refs/heads/dependabot/docker/dot-clusterfuzzlite/oss-fuzz-base/base-builder-go-130bed23f6e9f8f09963a4165d814b66164967c300409aeb8a6f6db48b6783ff","pushedAt":"2024-09-16T00:22:30.000Z","pushType":"branch_creation","commitsCount":0,"pusher":{"login":"dependabot[bot]","name":null,"path":"/apps/dependabot","primaryAvatarUrl":"https://avatars.githubusercontent.com/in/29110?s=80&v=4"},"commit":{"message":"build(deps): bump oss-fuzz-base/base-builder-go in /.clusterfuzzlite\n\nBumps oss-fuzz-base/base-builder-go from `71ed90b` to `130bed2`.\n\n---\nupdated-dependencies:\n- dependency-name: oss-fuzz-base/base-builder-go\n dependency-type: direct:production\n...\n\nSigned-off-by: dependabot[bot] ","shortMessageHtmlLink":"build(deps): bump oss-fuzz-base/base-builder-go in /.clusterfuzzlite"}},{"before":"c6228d19d52c96ff653fa36448328a156dfdde7b","after":"1ed2e452a15e16895fdc7ebeeaca226d0466b684","ref":"refs/heads/filters/auth/yamlconfig","pushedAt":"2024-09-13T12:25:05.000Z","pushType":"force_push","commitsCount":0,"pusher":{"login":"AlexanderYastrebov","name":"Alexander Yastrebov","path":"/AlexanderYastrebov","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/697976?s=80&v=4"},"commit":{"message":"filters/auth: cache yaml config\n\nCache parsed yaml config for `jwtMetrics` and `oauthTokeninfoValidate`\nfilters to avoid parsing the same configuration over and over\nwhen these filters are appended as default filters to all routes.\n\n```\n │ HEAD~1 │ HEAD │\n │ sec/op │ sec/op vs base │\nJwtMetrics_CreateFilter-8 30777.00n ± 6% 18.45n ± 11% -99.94% (p=0.000 n=10)\n\n │ HEAD~1 │ HEAD │\n │ B/op │ B/op vs base │\nJwtMetrics_CreateFilter-8 24.33Ki ± 0% 0.00Ki ± 0% -100.00% (p=0.000 n=10)\n\n │ HEAD~1 │ HEAD │\n │ allocs/op │ allocs/op vs base │\nJwtMetrics_CreateFilter-8 180.0 ± 0% 0.0 ± 0% -100.00% (p=0.000 n=10)\n```\n\nSigned-off-by: Alexander Yastrebov ","shortMessageHtmlLink":"filters/auth: cache yaml config"}},{"before":"42b81bd192e027321dab5c144acfdd4f69e56112","after":"c6228d19d52c96ff653fa36448328a156dfdde7b","ref":"refs/heads/filters/auth/yamlconfig","pushedAt":"2024-09-13T12:22:27.000Z","pushType":"force_push","commitsCount":0,"pusher":{"login":"AlexanderYastrebov","name":"Alexander Yastrebov","path":"/AlexanderYastrebov","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/697976?s=80&v=4"},"commit":{"message":"filters/auth: cache yaml config\n\nCache parsed yaml config for `jwtMetrics` and `oauthTokeninfoValidate`\nfilters to avoid parsing the same configuration over and over\nwhen these filters are appended as default filters to all routes.\n\n```\n │ HEAD~1 │ HEAD │\n │ sec/op │ sec/op vs base │\nJwtMetrics_CreateFilter-8 30777.00n ± 6% 18.45n ± 11% -99.94% (p=0.000 n=10)\n\n │ HEAD~1 │ HEAD │\n │ B/op │ B/op vs base │\nJwtMetrics_CreateFilter-8 24.33Ki ± 0% 0.00Ki ± 0% -100.00% (p=0.000 n=10)\n\n │ HEAD~1 │ HEAD │\n │ allocs/op │ allocs/op vs base │\nJwtMetrics_CreateFilter-8 180.0 ± 0% 0.0 ± 0% -100.00% (p=0.000 n=10)\n```\n\nSigned-off-by: Alexander Yastrebov ","shortMessageHtmlLink":"filters/auth: cache yaml config"}},{"before":"fab869c86a24f0a4bb760373fa4c5fd85621444f","after":"42b81bd192e027321dab5c144acfdd4f69e56112","ref":"refs/heads/filters/auth/yamlconfig","pushedAt":"2024-09-13T12:20:18.000Z","pushType":"force_push","commitsCount":0,"pusher":{"login":"AlexanderYastrebov","name":"Alexander Yastrebov","path":"/AlexanderYastrebov","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/697976?s=80&v=4"},"commit":{"message":"filters/auth: cache yaml config\n\nCache parsed yaml config for `jwtMetrics` and `oauthTokeninfoValidate`\nfilters to avoid parsing the same configuration over and over\nwhen these filters are appended as default filters to all routes.\n\n```\n │ HEAD~1 │ HEAD │\n │ sec/op │ sec/op vs base │\nJwtMetrics_CreateFilter-8 30777.00n ± 6% 18.45n ± 11% -99.94% (p=0.000 n=10)\n\n │ HEAD~1 │ HEAD │\n │ B/op │ B/op vs base │\nJwtMetrics_CreateFilter-8 24.33Ki ± 0% 0.00Ki ± 0% -100.00% (p=0.000 n=10)\n\n │ HEAD~1 │ HEAD │\n │ allocs/op │ allocs/op vs base │\nJwtMetrics_CreateFilter-8 180.0 ± 0% 0.0 ± 0% -100.00% (p=0.000 n=10)\n```\n\nSigned-off-by: Alexander Yastrebov ","shortMessageHtmlLink":"filters/auth: cache yaml config"}},{"before":"40a3067db6940626b86197278dff87a9764687aa","after":"0420599fbca5a60ae767825a5b5eced9a511983d","ref":"refs/heads/feature/flight-recorder","pushedAt":"2024-09-12T16:30:54.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"szuecs","name":"Sandor Szücs","path":"/szuecs","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/50872?s=80&v=4"},"commit":{"message":"refactor: replace time.After by Timer\n\nSigned-off-by: Sandor Szücs ","shortMessageHtmlLink":"refactor: replace time.After by Timer"}},{"before":"bd87e31f76fbbf400aaeb4f7a345e277df8f0028","after":"7cb3dc275ab4594a4e8219c4a2c1e954bb2847a9","ref":"refs/heads/master","pushedAt":"2024-09-12T12:28:10.000Z","pushType":"pr_merge","commitsCount":1,"pusher":{"login":"MustafaSaber","name":"Mustafa Abdelrahman","path":"/MustafaSaber","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/25799494?s=80&v=4"},"commit":{"message":"opa: pass URL query parameters to OPA policy evaluation (#3207)\n\nImprove the envoy request adapting logic to include query parameters sent in the request.\r\nThis would allow the policy evaluationin opaAuthorizeRequest* and opaServeResponse* filters to make use of query parameters/values in the policy.\r\n\r\n- Add test cases to cover multi valued query params and trailing ? in URL path\r\n\r\n- Change the logic to build path with query params\r\n - Use escaped path + raw query string to build the path set in envoy request\r\n - Add test cases to cover few additional special cases (empty query string, space in path)\r\n\r\n- Use req.URL.RequestURI() to set the path with query params\r\n\r\nSigned-off-by: Farasath Ahamed ","shortMessageHtmlLink":"opa: pass URL query parameters to OPA policy evaluation (#3207)"}},{"before":"c6f326f7472d361e76b9a888ac4b7f27f8f17637","after":"fab869c86a24f0a4bb760373fa4c5fd85621444f","ref":"refs/heads/filters/auth/yamlconfig","pushedAt":"2024-09-11T14:06:14.000Z","pushType":"force_push","commitsCount":0,"pusher":{"login":"AlexanderYastrebov","name":"Alexander Yastrebov","path":"/AlexanderYastrebov","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/697976?s=80&v=4"},"commit":{"message":"filters/auth: cache yaml config\n\nCache parsed yaml config for `jwtMetrics` and `oauthTokeninfoValidate`\nfilters to avoid parsing the same configuration over and over\nwhen these filters are appended as default filters to all routes.\n\n```\n │ HEAD~1 │ HEAD │\n │ sec/op │ sec/op vs base │\nJwtMetrics_CreateFilter-8 30777.00n ± 6% 18.45n ± 11% -99.94% (p=0.000 n=10)\n\n │ HEAD~1 │ HEAD │\n │ B/op │ B/op vs base │\nJwtMetrics_CreateFilter-8 24.33Ki ± 0% 0.00Ki ± 0% -100.00% (p=0.000 n=10)\n\n │ HEAD~1 │ HEAD │\n │ allocs/op │ allocs/op vs base │\nJwtMetrics_CreateFilter-8 180.0 ± 0% 0.0 ± 0% -100.00% (p=0.000 n=10)\n```\n\nSigned-off-by: Alexander Yastrebov ","shortMessageHtmlLink":"filters/auth: cache yaml config"}},{"before":"a3c18922416b035401969d2b87bf269d14cf8374","after":"c6f326f7472d361e76b9a888ac4b7f27f8f17637","ref":"refs/heads/filters/auth/yamlconfig","pushedAt":"2024-09-11T13:50:41.000Z","pushType":"force_push","commitsCount":0,"pusher":{"login":"AlexanderYastrebov","name":"Alexander Yastrebov","path":"/AlexanderYastrebov","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/697976?s=80&v=4"},"commit":{"message":"filters/auth: cache yaml config\n\nCache parsed yaml config for `jwtMetrics` and `oauthTokeninfoValidate`\nfilters to avoid parsing the same configuration over and over\nwhen these filters are appended as default filters to all routes.\n\nSigned-off-by: Alexander Yastrebov ","shortMessageHtmlLink":"filters/auth: cache yaml config"}}],"hasNextPage":true,"hasPreviousPage":false,"activityType":"all","actor":null,"timePeriod":"all","sort":"DESC","perPage":30,"cursor":"Y3Vyc29yOnYyOpK7MjAyNC0wOS0yMFQxNzozMzoxMi4wMDAwMDBazwAAAAS8OMc7","startCursor":"Y3Vyc29yOnYyOpK7MjAyNC0wOS0yMFQxNzozMzoxMi4wMDAwMDBazwAAAAS8OMc7","endCursor":"Y3Vyc29yOnYyOpK7MjAyNC0wOS0xMVQxMzo1MDo0MS4wMDAwMDBazwAAAASzRIbo"}},"title":"Activity · zalando/skipper"}