{"payload":{"feedbackUrl":"https://github.com/orgs/community/discussions/53140","repo":{"id":727067574,"defaultBranch":"main","name":"zipkin-otel","ownerLogin":"openzipkin-contrib","currentUserCanPush":false,"isFork":false,"isEmpty":false,"createdAt":"2023-12-04T05:40:14.000Z","ownerAvatar":"https://avatars.githubusercontent.com/u/31118767?v=4","public":true,"private":false,"isOrgOwned":true},"refInfo":{"name":"","listCacheKey":"v0:1724196802.0","currentOid":""},"activityList":{"items":[{"before":"f493e26481f3808d056453b33de709099351cba9","after":"56a4e47af876bce7d2a684991168dade49d73cf7","ref":"refs/heads/main","pushedAt":"2024-09-26T12:12:20.000Z","pushType":"pr_merge","commitsCount":1,"pusher":{"login":"codefromthecrypt","name":"Adrian Cole","path":"/codefromthecrypt","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/64215?s=80&v=4"},"commit":{"message":"Add a way to map otel resource attributes into tags on the collector side (#19)\n\nThis pr adds a way to map otel resource attributes into tags on the\r\ncollector side.\r\nRelated to #14.\r\n\r\nBy default it simply maps resource attributes except for `service.name`\r\nto tags with optional prefix. Providing `OtelResourceMapper` instance\r\ncan replace the behavior (e.g. do not convert anything, or convert only\r\ncertain attributes to tags.).","shortMessageHtmlLink":"Add a way to map otel resource attributes into tags on the collector …"}},{"before":"ed5e1f7c069b5240503e498e357ee9d4421ead90","after":"f493e26481f3808d056453b33de709099351cba9","ref":"refs/heads/main","pushedAt":"2024-09-26T03:40:24.000Z","pushType":"pr_merge","commitsCount":1,"pusher":{"login":"codefromthecrypt","name":"Adrian Cole","path":"/codefromthecrypt","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/64215?s=80&v=4"},"commit":{"message":"Support adding static resource attributes on the encoder side (#18)\n\nThis pull request adds a way to add static resource attributes on the\r\nencoder side.\r\nRelated to #14, resource attributes are typically static and do not\r\ndepend on a span.\r\n\r\nFor example, Spring Boot provides\r\n`management.opentelemetry.resource-attributes.*` properties to add\r\nresource attributes for Otel SDK. This pr will provide the feature\r\nparity of this capability for Brave.\r\n\r\nhttps://github.com/spring-projects/spring-boot/blob/aba22547ee56606c815ecb1ef57cee82e9005ed9/spring-boot-project/spring-boot-actuator-autoconfigure/src/main/java/org/springframework/boot/actuate/autoconfigure/opentelemetry/OpenTelemetryAutoConfiguration.java#L74-L91","shortMessageHtmlLink":"Support adding static resource attributes on the encoder side (#18)"}},{"before":"e4c31d368a8ac13835981b815d29206bb5c50096","after":"ed5e1f7c069b5240503e498e357ee9d4421ead90","ref":"refs/heads/main","pushedAt":"2024-09-18T11:00:34.000Z","pushType":"pr_merge","commitsCount":1,"pusher":{"login":"codefromthecrypt","name":"Adrian Cole","path":"/codefromthecrypt","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/64215?s=80&v=4"},"commit":{"message":"Convert the last attribute into tags and count the number of dropped attributes, when attributes with a duplicate key are set (#17)\n\nOTEL's spec technically allows attributes to contain multiple same keys\r\n(I actually encountered this use case). If converted as is, an\r\n`IllegalStateException` occurs.\r\nIn this PR, if multiple same keys are added, the attribute will be used.\r\nThis is the same behavior as when creating a Brave span. And dropped\r\nattributes are counted.","shortMessageHtmlLink":"Convert the last attribute into tags and count the number of dropped …"}},{"before":"550088a26ac34dd1cea446db6521303bebeb4e7e","after":"e4c31d368a8ac13835981b815d29206bb5c50096","ref":"refs/heads/main","pushedAt":"2024-09-18T04:56:37.000Z","pushType":"pr_merge","commitsCount":1,"pusher":{"login":"codefromthecrypt","name":"Adrian Cole","path":"/codefromthecrypt","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/64215?s=80&v=4"},"commit":{"message":"Set the annotation name to the same as the event name if the attributes are empty (#16)\n\nFollowing [\"OpenTelemetry to Zipkin\r\nTransformation\"](https://github.com/open-telemetry/opentelemetry-specification/blob/main/specification/trace/sdk_exporters/zipkin.md#events),\r\nI set the annotation name, but I found that if event's attributes is\r\nempty, it is meaningless and inconvenient as attached. In this PR, if\r\nattributes is empty, the event name is used as the annotation name.\r\n\r\n\"image\"\r\nsrc=\"https://github.com/user-attachments/assets/a4ecbeb1-b5aa-4bce-852e-fdcf5cf5f55b\"","shortMessageHtmlLink":"Set the annotation name to the same as the event name if the attribut…"}},{"before":"96a35504ab621d4a6bc6d85a9000940918cc662a","after":"550088a26ac34dd1cea446db6521303bebeb4e7e","ref":"refs/heads/main","pushedAt":"2024-09-17T08:33:32.000Z","pushType":"pr_merge","commitsCount":1,"pusher":{"login":"codefromthecrypt","name":"Adrian Cole","path":"/codefromthecrypt","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/64215?s=80&v=4"},"commit":{"message":"Remove `QUERY_ENABLED` environment variable in Dockerfile (#15)\n\nquery is now available","shortMessageHtmlLink":"Remove QUERY_ENABLED environment variable in Dockerfile (#15)"}},{"before":"98af0bca0ddea60a4cdb6ddae7e0566b386b8233","after":"96a35504ab621d4a6bc6d85a9000940918cc662a","ref":"refs/heads/main","pushedAt":"2024-09-16T02:36:38.000Z","pushType":"pr_merge","commitsCount":1,"pusher":{"login":"codefromthecrypt","name":"Adrian Cole","path":"/codefromthecrypt","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/64215?s=80&v=4"},"commit":{"message":"Add OTLP/HTTP collector (#13)\n\nThis pull request adds an OTLP/HTTP implementation of the Zipkin\r\nCollector.\r\n\r\nIt mostly follows the following document, but does not implement\r\nfallback for remoteEndpoint name and deprecated attribute names have\r\nbeen changed to new ones.\r\n\r\nhttps://github.com/open-telemetry/opentelemetry-specification/blob/main/specification/trace/sdk_exporters/zipkin.md\r\n\r\nAlso, the mapping of resource attributes is TBD in this document, and is\r\nnot implemented in this PR, but I would like to open a separate issue to\r\ndiscuss the mapping of resource attributes.\r\n\r\n---------\r\n\r\nCo-authored-by: minux ","shortMessageHtmlLink":"Add OTLP/HTTP collector (#13)"}},{"before":"670ffc984efa89f03140d98afd4085c6268a7923","after":null,"ref":"refs/heads/sender","pushedAt":"2024-08-20T23:33:22.000Z","pushType":"branch_deletion","commitsCount":0,"pusher":{"login":"codefromthecrypt","name":"Adrian Cole","path":"/codefromthecrypt","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/64215?s=80&v=4"}},{"before":"442a436ab6ab4fdc438ce02329c328b975db851f","after":"98af0bca0ddea60a4cdb6ddae7e0566b386b8233","ref":"refs/heads/main","pushedAt":"2024-08-20T06:47:42.000Z","pushType":"pr_merge","commitsCount":1,"pusher":{"login":"codefromthecrypt","name":"Adrian Cole","path":"/codefromthecrypt","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/64215?s=80&v=4"},"commit":{"message":"Eliminate dependency on otel libraries that were pulled in just to get default values (#12)\n\nI found opentelemetry-sdk-common and opentelemetry-context are pulled in\r\njust to get default values.\r\nFrom the brave-encoder perspective, I think the less dependencies on the\r\notel library the more, so this pull request will remove those\r\ndependencies.","shortMessageHtmlLink":"Eliminate dependency on otel libraries that were pulled in just to ge…"}},{"before":"7a9d0c9131b5e40f3dd6889cd261d50f69a78af2","after":"442a436ab6ab4fdc438ce02329c328b975db851f","ref":"refs/heads/main","pushedAt":"2024-08-19T23:34:32.000Z","pushType":"pr_merge","commitsCount":1,"pusher":{"login":"codefromthecrypt","name":"Adrian Cole","path":"/codefromthecrypt","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/64215?s=80&v=4"},"commit":{"message":"Add encoder-otel-brave (#9)\n\nThis pull request adds the encoder below:\r\n\r\n# encoder-brave\r\n\r\nThis encodes brave spans into OTLP proto format.\r\n\r\n```java\r\n// Use OTLP encoder when sending to an OTLP backend\r\nspanHandler = AsyncZipkinSpanHandler.newBuilder(sender).build(new OtlpProtoV1Encoder(Tags.ERROR));\r\n```\r\n\r\n---------\r\n\r\nCo-authored-by: Marcin Grzejszczak ","shortMessageHtmlLink":"Add encoder-otel-brave (#9)"}},{"before":"7736badc9a7050199875afce4470f49ecc269fcf","after":"7a9d0c9131b5e40f3dd6889cd261d50f69a78af2","ref":"refs/heads/main","pushedAt":"2024-08-15T03:04:23.000Z","pushType":"pr_merge","commitsCount":1,"pusher":{"login":"codefromthecrypt","name":"Adrian Cole","path":"/codefromthecrypt","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/64215?s=80&v=4"},"commit":{"message":"license: removes copyright year and uses SPDX ID (#8)\n\nas per\r\nhttps://github.com/openzipkin-contrib/zipkin-otel/pull/7#issuecomment-2287874103","shortMessageHtmlLink":"license: removes copyright year and uses SPDX ID (#8)"}},{"before":"cf9c6dc7c4ccc90a5ea8946aa49fb2e3b0bffb2a","after":"470442b6e97727c604ebef30e0215b372bec882d","ref":"refs/heads/otel","pushedAt":"2024-06-28T10:21:30.000Z","pushType":"push","commitsCount":3,"pusher":{"login":"marcingrzejszczak","name":"Marcin Grzejszczak","path":"/marcingrzejszczak","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/3297437?s=80&v=4"},"commit":{"message":"Polish","shortMessageHtmlLink":"Polish"}},{"before":"d87046d9bd39025606bcfb3323796eea7b1f837c","after":"cb1387e55f0f004145f86819cf3339c61f583b4a","ref":"refs/heads/receiver","pushedAt":"2024-06-28T09:12:58.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"marcingrzejszczak","name":"Marcin Grzejszczak","path":"/marcingrzejszczak","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/3297437?s=80&v=4"},"commit":{"message":"Polish","shortMessageHtmlLink":"Polish"}},{"before":"45b26b4625952bcd3150947ed67ca5b2786ca00a","after":"d87046d9bd39025606bcfb3323796eea7b1f837c","ref":"refs/heads/receiver","pushedAt":"2024-06-28T08:54:57.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"marcingrzejszczak","name":"Marcin Grzejszczak","path":"/marcingrzejszczak","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/3297437?s=80&v=4"},"commit":{"message":"Changes following the review","shortMessageHtmlLink":"Changes following the review"}},{"before":"c504de40ff060fc438a50f729f8cfc2dc17a163b","after":"670ffc984efa89f03140d98afd4085c6268a7923","ref":"refs/heads/sender","pushedAt":"2024-06-28T08:42:55.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"marcingrzejszczak","name":"Marcin Grzejszczak","path":"/marcingrzejszczak","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/3297437?s=80&v=4"},"commit":{"message":"Polish","shortMessageHtmlLink":"Polish"}},{"before":"0ffdcb738c91ddfcf444fdf46cbfc351ff5b922c","after":"c504de40ff060fc438a50f729f8cfc2dc17a163b","ref":"refs/heads/sender","pushedAt":"2024-06-28T08:42:09.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"marcingrzejszczak","name":"Marcin Grzejszczak","path":"/marcingrzejszczak","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/3297437?s=80&v=4"},"commit":{"message":"Polish","shortMessageHtmlLink":"Polish"}},{"before":"3fcb249a366c9e05b59e491ef308c706dff7eba1","after":"0ffdcb738c91ddfcf444fdf46cbfc351ff5b922c","ref":"refs/heads/sender","pushedAt":"2024-06-28T08:37:08.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"marcingrzejszczak","name":"Marcin Grzejszczak","path":"/marcingrzejszczak","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/3297437?s=80&v=4"},"commit":{"message":"Fixed doc","shortMessageHtmlLink":"Fixed doc"}},{"before":"a1070699ea02051c45a411806dc9ca5a60c9665b","after":"3fcb249a366c9e05b59e491ef308c706dff7eba1","ref":"refs/heads/sender","pushedAt":"2024-06-28T07:31:18.000Z","pushType":"push","commitsCount":2,"pusher":{"login":"marcingrzejszczak","name":"Marcin Grzejszczak","path":"/marcingrzejszczak","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/3297437?s=80&v=4"},"commit":{"message":"Merge branch 'main' into sender","shortMessageHtmlLink":"Merge branch 'main' into sender"}},{"before":"579ef19630aa61699b2c860ad9e96545427a90a9","after":"45b26b4625952bcd3150947ed67ca5b2786ca00a","ref":"refs/heads/receiver","pushedAt":"2024-06-28T07:31:10.000Z","pushType":"push","commitsCount":2,"pusher":{"login":"marcingrzejszczak","name":"Marcin Grzejszczak","path":"/marcingrzejszczak","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/3297437?s=80&v=4"},"commit":{"message":"Merge branch 'main' into receiver","shortMessageHtmlLink":"Merge branch 'main' into receiver"}},{"before":"e5bc2a47c958639a2d72041db35fcc6a58d8c4de","after":null,"ref":"refs/heads/versionBumps","pushedAt":"2024-06-28T00:06:45.000Z","pushType":"branch_deletion","commitsCount":0,"pusher":{"login":"codefromthecrypt","name":"Adrian Cole","path":"/codefromthecrypt","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/64215?s=80&v=4"}},{"before":"1092c0d98fda006fec10eedef29b6bfc18d882e5","after":"7736badc9a7050199875afce4470f49ecc269fcf","ref":"refs/heads/main","pushedAt":"2024-06-28T00:06:44.000Z","pushType":"pr_merge","commitsCount":1,"pusher":{"login":"codefromthecrypt","name":"Adrian Cole","path":"/codefromthecrypt","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/64215?s=80&v=4"},"commit":{"message":"Version bumps (#6)","shortMessageHtmlLink":"Version bumps (#6)"}},{"before":"c706abbf1db3e755d67dd7935dff5303a372d9fd","after":"579ef19630aa61699b2c860ad9e96545427a90a9","ref":"refs/heads/receiver","pushedAt":"2024-06-27T10:03:33.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"marcingrzejszczak","name":"Marcin Grzejszczak","path":"/marcingrzejszczak","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/3297437?s=80&v=4"},"commit":{"message":"Improved byte decoding","shortMessageHtmlLink":"Improved byte decoding"}},{"before":"265e37378e4c80484a9abc843ba407eb096fd5d1","after":"c706abbf1db3e755d67dd7935dff5303a372d9fd","ref":"refs/heads/receiver","pushedAt":"2024-06-27T09:18:42.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"marcingrzejszczak","name":"Marcin Grzejszczak","path":"/marcingrzejszczak","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/3297437?s=80&v=4"},"commit":{"message":"Simplified Collector logic","shortMessageHtmlLink":"Simplified Collector logic"}},{"before":"bcbfc367b5d8db3da94ca30303b3224be41c3a9b","after":"265e37378e4c80484a9abc843ba407eb096fd5d1","ref":"refs/heads/receiver","pushedAt":"2024-06-27T09:14:39.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"marcingrzejszczak","name":"Marcin Grzejszczak","path":"/marcingrzejszczak","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/3297437?s=80&v=4"},"commit":{"message":"Optimize imports","shortMessageHtmlLink":"Optimize imports"}},{"before":"03ac1ea1d0f84250236a5fe8ee057e907d2fbd22","after":"bcbfc367b5d8db3da94ca30303b3224be41c3a9b","ref":"refs/heads/receiver","pushedAt":"2024-06-27T08:39:30.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"marcingrzejszczak","name":"Marcin Grzejszczak","path":"/marcingrzejszczak","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/3297437?s=80&v=4"},"commit":{"message":"Uses decorators instead of manually decoding payload","shortMessageHtmlLink":"Uses decorators instead of manually decoding payload"}},{"before":"d64ff9b0ec4938853963004b331aafefc194b15c","after":"03ac1ea1d0f84250236a5fe8ee057e907d2fbd22","ref":"refs/heads/receiver","pushedAt":"2024-06-27T08:01:20.000Z","pushType":"push","commitsCount":4,"pusher":{"login":"marcingrzejszczak","name":"Marcin Grzejszczak","path":"/marcingrzejszczak","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/3297437?s=80&v=4"},"commit":{"message":"Merge branch 'versionBumps' into receiver","shortMessageHtmlLink":"Merge branch 'versionBumps' into receiver"}},{"before":"3f7e3483d06451bc7b63604f05d56c6c359d895a","after":"a1070699ea02051c45a411806dc9ca5a60c9665b","ref":"refs/heads/sender","pushedAt":"2024-06-27T08:00:21.000Z","pushType":"push","commitsCount":4,"pusher":{"login":"marcingrzejszczak","name":"Marcin Grzejszczak","path":"/marcingrzejszczak","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/3297437?s=80&v=4"},"commit":{"message":"Merge branch 'versionBumps' into sender","shortMessageHtmlLink":"Merge branch 'versionBumps' into sender"}},{"before":"383b5ad7fcb945cc57e3c3c42f0f14d3e291f077","after":"e5bc2a47c958639a2d72041db35fcc6a58d8c4de","ref":"refs/heads/versionBumps","pushedAt":"2024-06-27T07:58:08.000Z","pushType":"force_push","commitsCount":0,"pusher":{"login":"marcingrzejszczak","name":"Marcin Grzejszczak","path":"/marcingrzejszczak","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/3297437?s=80&v=4"},"commit":{"message":"Version bumps","shortMessageHtmlLink":"Version bumps"}},{"before":null,"after":"383b5ad7fcb945cc57e3c3c42f0f14d3e291f077","ref":"refs/heads/versionBumps","pushedAt":"2024-06-27T07:57:28.000Z","pushType":"branch_creation","commitsCount":0,"pusher":{"login":"marcingrzejszczak","name":"Marcin Grzejszczak","path":"/marcingrzejszczak","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/3297437?s=80&v=4"},"commit":{"message":"Version bumps","shortMessageHtmlLink":"Version bumps"}},{"before":"f30ade5cfefe3d6c3e7c901c2784896f470e8b78","after":null,"ref":"refs/heads/removingGrpc","pushedAt":"2024-06-27T00:14:20.000Z","pushType":"branch_deletion","commitsCount":0,"pusher":{"login":"codefromthecrypt","name":"Adrian Cole","path":"/codefromthecrypt","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/64215?s=80&v=4"}},{"before":"168d34c12ac5b0dc3a7659b3cc25a9740a8d6846","after":"1092c0d98fda006fec10eedef29b6bfc18d882e5","ref":"refs/heads/main","pushedAt":"2024-06-27T00:14:18.000Z","pushType":"pr_merge","commitsCount":1,"pusher":{"login":"codefromthecrypt","name":"Adrian Cole","path":"/codefromthecrypt","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/64215?s=80&v=4"},"commit":{"message":"Removing GRPC (#3)","shortMessageHtmlLink":"Removing GRPC (#3)"}}],"hasNextPage":true,"hasPreviousPage":false,"activityType":"all","actor":null,"timePeriod":"all","sort":"DESC","perPage":30,"startCursor":"Y3Vyc29yOnYyOpK7MjAyNC0wOS0yNlQxMjoxMjoyMC4wMDAwMDBazwAAAATBcbSY","endCursor":"Y3Vyc29yOnYyOpK7MjAyNC0wNi0yN1QwMDoxNDoxOC4wMDAwMDBazwAAAARwRljz"}},"title":"Activity · openzipkin-contrib/zipkin-otel"}