{"payload":{"feedbackUrl":"https://github.com/orgs/community/discussions/53140","repo":{"id":745004883,"defaultBranch":"main","name":"foundations","ownerLogin":"cloudflare","currentUserCanPush":false,"isFork":false,"isEmpty":false,"createdAt":"2024-01-18T12:59:52.000Z","ownerAvatar":"https://avatars.githubusercontent.com/u/314135?v=4","public":true,"private":false,"isOrgOwned":true},"refInfo":{"name":"","listCacheKey":"v0:1726224908.0","currentOid":""},"activityList":{"items":[{"before":"a9f3fb18c44b450b7a740638d5afe1340df140ae","after":null,"ref":"refs/heads/v4-rc","pushedAt":"2024-09-13T10:55:08.000Z","pushType":"branch_deletion","commitsCount":0,"pusher":{"login":"inikulin","name":"Ivan Nikulin","path":"/inikulin","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/453071?s=80&v=4"}},{"before":"335cf5373abfeea090fa98a668877d88bfdecc87","after":"58d72102cc31af3493be46e26c407701b73cfe66","ref":"refs/heads/main","pushedAt":"2024-09-13T10:55:04.000Z","pushType":"pr_merge","commitsCount":2,"pusher":{"login":"inikulin","name":"Ivan Nikulin","path":"/inikulin","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/453071?s=80&v=4"},"commit":{"message":"Release 4.0.0-rc.1","shortMessageHtmlLink":"Release 4.0.0-rc.1"}},{"before":"9f9b4b7dd958de56cf282c3696fa7d6898152906","after":"335cf5373abfeea090fa98a668877d88bfdecc87","ref":"refs/heads/main","pushedAt":"2024-09-13T08:54:53.000Z","pushType":"pr_merge","commitsCount":1,"pusher":{"login":"nmldiegues","name":"Nuno Diegues","path":"/nmldiegues","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/889015?s=80&v=4"},"commit":{"message":"OXY-1404: Avoid crashes resulting from double seccomp initialization (#60)\n\nIf a service using foundations accidentally initializes seccomp in a\r\nthread that already seccomp initialized, the seccomp violation\r\n(depending on configuration) may be violated and crash the process.\r\n\r\nAn easy way to enter into this scenario is by having a hook in\r\n[tokio::runtime::Builder::on_thread_start](https://docs.rs/tokio/latest/tokio/runtime/struct.Builder.html#method.on_thread_start)\r\nthat initializes seccomp for threads that are initialized before the\r\nmain thread. In this scenario, any threads created from tokio threads\r\n(say, inside a tokio task) may lead to a seccomp violation.\r\n\r\nThis PR uses the syscall `prctl(PR_GET_SECCOMP)`\r\n([PR_GET_SECCOMP](https://linuxman7.org/linux/man-pages/man2/PR_GET_SECCOMP.2const.html))\r\nto find out definitively whether seccomp is already enabled for the\r\ncurrent thread. If it is, then the default behavior is to not initialize\r\nseccomp again, thus avoiding what may have been a crash otherwise.","shortMessageHtmlLink":"OXY-1404: Avoid crashes resulting from double seccomp initialization (#…"}},{"before":null,"after":"a9f3fb18c44b450b7a740638d5afe1340df140ae","ref":"refs/heads/v4-rc","pushedAt":"2024-09-12T15:54:04.000Z","pushType":"branch_creation","commitsCount":0,"pusher":{"login":"inikulin","name":"Ivan Nikulin","path":"/inikulin","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/453071?s=80&v=4"},"commit":{"message":"Release 4.0.0-rc.1","shortMessageHtmlLink":"Release 4.0.0-rc.1"}},{"before":"afd9094db7581f6db79b64f2eee79458997bd1f0","after":"9f9b4b7dd958de56cf282c3696fa7d6898152906","ref":"refs/heads/main","pushedAt":"2024-08-27T09:18:33.000Z","pushType":"pr_merge","commitsCount":1,"pusher":{"login":"inikulin","name":"Ivan Nikulin","path":"/inikulin","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/453071?s=80&v=4"},"commit":{"message":"chore: add passive sampling option to tracing\n\nWhen we have many services in the same flow, we want to defer the sampling\nlogic to the parent service (which will defer to the root service in the end).\n\nThe PassiveSampler is really good for that, as it will only sample traces that\nhave one external reference. This assumes that the parent service will send the\ntrace info to stitch, if we should keep it, and won't, if we should discard it.\nThis is what some of our services do already today, and it would really help us\nonboard to foundations!\n\nThis also fixes the previous rate limiting test, that would always return an\nempty traces list, as they were sent to a non-existent scope.","shortMessageHtmlLink":"chore: add passive sampling option to tracing"}},{"before":"69aa541e0ae81f1f2e044b357d4c1c7878688371","after":"afd9094db7581f6db79b64f2eee79458997bd1f0","ref":"refs/heads/main","pushedAt":"2024-08-14T10:46:13.000Z","pushType":"pr_merge","commitsCount":2,"pusher":{"login":"inikulin","name":"Ivan Nikulin","path":"/inikulin","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/453071?s=80&v=4"},"commit":{"message":"Remove old deserialize","shortMessageHtmlLink":"Remove old deserialize"}},{"before":"d3193617105e5e42589672a4400bd8c85eeee224","after":"69aa541e0ae81f1f2e044b357d4c1c7878688371","ref":"refs/heads/main","pushedAt":"2024-08-14T09:44:35.000Z","pushType":"pr_merge","commitsCount":1,"pusher":{"login":"inikulin","name":"Ivan Nikulin","path":"/inikulin","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/453071?s=80&v=4"},"commit":{"message":"Buffer JSON slog messages\n\nserde_json will happily do a `write` syscall for every token it\nserializes. Add a std::io::BufWriter to prevent excessive syscalls.","shortMessageHtmlLink":"Buffer JSON slog messages"}},{"before":"f0f0d74fb949d1769713c095de3ec7d24cacc3dd","after":"d3193617105e5e42589672a4400bd8c85eeee224","ref":"refs/heads/main","pushedAt":"2024-08-13T09:50:26.000Z","pushType":"pr_merge","commitsCount":10,"pusher":{"login":"inikulin","name":"Ivan Nikulin","path":"/inikulin","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/453071?s=80&v=4"},"commit":{"message":"Lock around the sender","shortMessageHtmlLink":"Lock around the sender"}},{"before":"e85baac484b5d90b61b98f74286013d305a41596","after":null,"ref":"refs/heads/nits","pushedAt":"2024-08-12T14:12:06.000Z","pushType":"branch_deletion","commitsCount":0,"pusher":{"login":"inikulin","name":"Ivan Nikulin","path":"/inikulin","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/453071?s=80&v=4"}},{"before":"5208c88691d122f95cddd381f1d191c005cd1e49","after":"f0f0d74fb949d1769713c095de3ec7d24cacc3dd","ref":"refs/heads/main","pushedAt":"2024-08-12T14:12:03.000Z","pushType":"pr_merge","commitsCount":4,"pusher":{"login":"inikulin","name":"Ivan Nikulin","path":"/inikulin","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/453071?s=80&v=4"},"commit":{"message":"Fix seccomp violation in MemoryProfiler introduce by Rust 1.80.0 std","shortMessageHtmlLink":"Fix seccomp violation in MemoryProfiler introduce by Rust 1.80.0 std"}},{"before":"3722c5509d2518b4187ef08fa431ea38c33b8cc4","after":null,"ref":"refs/heads/rs-fcntl","pushedAt":"2024-08-12T14:05:22.000Z","pushType":"branch_deletion","commitsCount":0,"pusher":{"login":"inikulin","name":"Ivan Nikulin","path":"/inikulin","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/453071?s=80&v=4"}},{"before":"fab7d1c3f7de8ef68206b40a99ed06146649bd4c","after":"e85baac484b5d90b61b98f74286013d305a41596","ref":"refs/heads/nits","pushedAt":"2024-08-12T14:02:30.000Z","pushType":"force_push","commitsCount":0,"pusher":{"login":"inikulin","name":"Ivan Nikulin","path":"/inikulin","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/453071?s=80&v=4"},"commit":{"message":"Fix seccomp violation in MemoryProfiler introduce by Rust 1.80.0 std","shortMessageHtmlLink":"Fix seccomp violation in MemoryProfiler introduce by Rust 1.80.0 std"}},{"before":"971611288206b9c617e480ef45868c02d6cf1b9f","after":"fab7d1c3f7de8ef68206b40a99ed06146649bd4c","ref":"refs/heads/nits","pushedAt":"2024-08-12T13:36:10.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"inikulin","name":"Ivan Nikulin","path":"/inikulin","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/453071?s=80&v=4"},"commit":{"message":"Fix seccomp violation in MemoryProfiler introduce by Rust 1.80.0 std","shortMessageHtmlLink":"Fix seccomp violation in MemoryProfiler introduce by Rust 1.80.0 std"}},{"before":null,"after":"3722c5509d2518b4187ef08fa431ea38c33b8cc4","ref":"refs/heads/rs-fcntl","pushedAt":"2024-08-12T13:33:46.000Z","pushType":"branch_creation","commitsCount":0,"pusher":{"login":"inikulin","name":"Ivan Nikulin","path":"/inikulin","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/453071?s=80&v=4"},"commit":{"message":"Fix seccomp violation in MemoryProfiler introduce by Rust 1.80.0 std","shortMessageHtmlLink":"Fix seccomp violation in MemoryProfiler introduce by Rust 1.80.0 std"}},{"before":"fcc844db720e5cb9d8b3593b27facf2df7403d01","after":"971611288206b9c617e480ef45868c02d6cf1b9f","ref":"refs/heads/nits","pushedAt":"2024-08-06T09:45:40.000Z","pushType":"force_push","commitsCount":0,"pusher":{"login":"inikulin","name":"Ivan Nikulin","path":"/inikulin","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/453071?s=80&v=4"},"commit":{"message":"Make clippy happy","shortMessageHtmlLink":"Make clippy happy"}},{"before":"8fa3dd72b26021bb87a3feda2a3aaef8a41726d5","after":"fcc844db720e5cb9d8b3593b27facf2df7403d01","ref":"refs/heads/nits","pushedAt":"2024-08-06T09:12:22.000Z","pushType":"force_push","commitsCount":0,"pusher":{"login":"inikulin","name":"Ivan Nikulin","path":"/inikulin","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/453071?s=80&v=4"},"commit":{"message":"Make clippy happy","shortMessageHtmlLink":"Make clippy happy"}},{"before":"f78bc529883ca3808125a6442b2ec2efb04cae1a","after":"8fa3dd72b26021bb87a3feda2a3aaef8a41726d5","ref":"refs/heads/nits","pushedAt":"2024-08-06T08:53:50.000Z","pushType":"force_push","commitsCount":0,"pusher":{"login":"inikulin","name":"Ivan Nikulin","path":"/inikulin","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/453071?s=80&v=4"},"commit":{"message":"Make clippy happy","shortMessageHtmlLink":"Make clippy happy"}},{"before":"8d73ffc55a20588feb8249462c2de88cd653a51a","after":"f78bc529883ca3808125a6442b2ec2efb04cae1a","ref":"refs/heads/nits","pushedAt":"2024-08-05T13:42:19.000Z","pushType":"force_push","commitsCount":0,"pusher":{"login":"inikulin","name":"Ivan Nikulin","path":"/inikulin","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/453071?s=80&v=4"},"commit":{"message":"Make clippy happy","shortMessageHtmlLink":"Make clippy happy"}},{"before":"4beccbedd4f26d8f48e8686b275b6b0ff9bba330","after":"8d73ffc55a20588feb8249462c2de88cd653a51a","ref":"refs/heads/nits","pushedAt":"2024-08-05T13:33:56.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"inikulin","name":"Ivan Nikulin","path":"/inikulin","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/453071?s=80&v=4"},"commit":{"message":"Make clippy happy","shortMessageHtmlLink":"Make clippy happy"}},{"before":"0f37ba4b5a334c59910d8998a25af170dcf1d86b","after":"4beccbedd4f26d8f48e8686b275b6b0ff9bba330","ref":"refs/heads/nits","pushedAt":"2024-08-05T09:47:34.000Z","pushType":"force_push","commitsCount":0,"pusher":{"login":"inikulin","name":"Ivan Nikulin","path":"/inikulin","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/453071?s=80&v=4"},"commit":{"message":"Expose TraceId, as it now can be used in serializable state ctor","shortMessageHtmlLink":"Expose TraceId, as it now can be used in serializable state ctor"}},{"before":null,"after":"0f37ba4b5a334c59910d8998a25af170dcf1d86b","ref":"refs/heads/nits","pushedAt":"2024-07-24T08:28:05.000Z","pushType":"branch_creation","commitsCount":0,"pusher":{"login":"inikulin","name":"Ivan Nikulin","path":"/inikulin","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/453071?s=80&v=4"},"commit":{"message":"Expose TraceId, as it now can be used in serializable state ctor","shortMessageHtmlLink":"Expose TraceId, as it now can be used in serializable state ctor"}},{"before":"64a392f21648dda5654ec2dbcc10637bc9e3b238","after":null,"ref":"refs/heads/syn-bump","pushedAt":"2024-07-24T07:06:28.000Z","pushType":"branch_deletion","commitsCount":0,"pusher":{"login":"inikulin","name":"Ivan Nikulin","path":"/inikulin","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/453071?s=80&v=4"}},{"before":"e48fa21ac20092f03bc2ce9dc667d739185309e2","after":"5208c88691d122f95cddd381f1d191c005cd1e49","ref":"refs/heads/main","pushedAt":"2024-07-24T07:06:24.000Z","pushType":"pr_merge","commitsCount":1,"pusher":{"login":"inikulin","name":"Ivan Nikulin","path":"/inikulin","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/453071?s=80&v=4"},"commit":{"message":"Bump syn and darling (closes #50)","shortMessageHtmlLink":"Bump syn and darling (closes #50)"}},{"before":"3e0b5ec538907b8b7da8b7c3e9668bb090dc205b","after":"64a392f21648dda5654ec2dbcc10637bc9e3b238","ref":"refs/heads/syn-bump","pushedAt":"2024-07-22T09:41:47.000Z","pushType":"force_push","commitsCount":0,"pusher":{"login":"inikulin","name":"Ivan Nikulin","path":"/inikulin","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/453071?s=80&v=4"},"commit":{"message":"Bump syn and darling (closes #50)","shortMessageHtmlLink":"Bump syn and darling (closes #50)"}},{"before":"b4591d3753a81fa1c7c1208815cfbbf90ec105fa","after":"3e0b5ec538907b8b7da8b7c3e9668bb090dc205b","ref":"refs/heads/syn-bump","pushedAt":"2024-07-21T11:02:38.000Z","pushType":"force_push","commitsCount":0,"pusher":{"login":"inikulin","name":"Ivan Nikulin","path":"/inikulin","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/453071?s=80&v=4"},"commit":{"message":"Bump syn and darling (closes #50)","shortMessageHtmlLink":"Bump syn and darling (closes #50)"}},{"before":null,"after":"b4591d3753a81fa1c7c1208815cfbbf90ec105fa","ref":"refs/heads/syn-bump","pushedAt":"2024-07-21T11:02:09.000Z","pushType":"branch_creation","commitsCount":0,"pusher":{"login":"inikulin","name":"Ivan Nikulin","path":"/inikulin","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/453071?s=80&v=4"},"commit":{"message":"Bump syn and darling","shortMessageHtmlLink":"Bump syn and darling"}},{"before":"3d2f11a4db3ade00f42b6eb4d5563b3ae3064d87","after":null,"ref":"refs/heads/local-fut","pushedAt":"2024-07-19T13:41:56.000Z","pushType":"branch_deletion","commitsCount":0,"pusher":{"login":"inikulin","name":"Ivan Nikulin","path":"/inikulin","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/453071?s=80&v=4"}},{"before":"d62f31c1222b05d9554991d258675c27780f0169","after":"e48fa21ac20092f03bc2ce9dc667d739185309e2","ref":"refs/heads/main","pushedAt":"2024-07-19T13:41:53.000Z","pushType":"pr_merge","commitsCount":1,"pusher":{"login":"inikulin","name":"Ivan Nikulin","path":"/inikulin","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/453071?s=80&v=4"},"commit":{"message":"Telemetry API improvements\n\n- Provide API to transform `SpanScope` into `TelemetryContext`. That allows ergonomically apply span scopes returned by `start_trace` to futures. In addition, it allows us to get rid of `TelemetryContext::apply_with_tracing_span` and alike\n- Add telemetry instrumentation support for `!Send` futures\n- Remove usages of `#[allow(dead_code)]` (closes #39)","shortMessageHtmlLink":"Telemetry API improvements"}},{"before":"860c88773f79a55a95e4a869fe1f6de1e7fdf26d","after":"3d2f11a4db3ade00f42b6eb4d5563b3ae3064d87","ref":"refs/heads/local-fut","pushedAt":"2024-07-19T09:55:17.000Z","pushType":"force_push","commitsCount":0,"pusher":{"login":"inikulin","name":"Ivan Nikulin","path":"/inikulin","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/453071?s=80&v=4"},"commit":{"message":"Telemetry API improvements\n\n- Provide API to transform `SpanScope` into `TelemetryContext`. That allows ergonomically apply span scopes returned by `start_trace` to futures. In addition, it allows us to get rid of `TelemetryContext::apply_with_tracing_span` and alike\n- Add telemetry instrumentation support for `!Send` futures\n- Remove usages of `#[allow(dead_code)]` (closes #39)","shortMessageHtmlLink":"Telemetry API improvements"}},{"before":"2606168213aa1cb7627429767db780b38fe1ec34","after":"860c88773f79a55a95e4a869fe1f6de1e7fdf26d","ref":"refs/heads/local-fut","pushedAt":"2024-07-19T08:34:14.000Z","pushType":"force_push","commitsCount":0,"pusher":{"login":"inikulin","name":"Ivan Nikulin","path":"/inikulin","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/453071?s=80&v=4"},"commit":{"message":"Telemetry API improvements\n\n- Provide API to transform `SpanScope` into `TelemetryContext`. That allows ergonomically apply span scopes returned by `start_trace` to futures. In addition, it allows us to get rid of `TelemetryContext::apply_with_tracing_span` and alike\n- Add telemetry instrumentation support for `!Send` futures\n- Remove usages of `#[allow(dead_code)]` (closes #39)","shortMessageHtmlLink":"Telemetry API improvements"}}],"hasNextPage":true,"hasPreviousPage":false,"activityType":"all","actor":null,"timePeriod":"all","sort":"DESC","perPage":30,"cursor":"djE6ks8AAAAEtWElSwA","startCursor":null,"endCursor":null}},"title":"Activity · cloudflare/foundations"}