From 4cc68dec296c2e7ddec85fcded76841252fb1a25 Mon Sep 17 00:00:00 2001 From: Simon Oehrl Date: Thu, 14 Nov 2024 14:27:46 +0100 Subject: [PATCH 1/2] feat(format): derive Debug, Clone, and Copy traits --- tracing-tape/src/record/callsite.rs | 6 +++--- tracing-tape/src/record/event.rs | 4 ++-- tracing-tape/src/record/mod.rs | 2 +- tracing-tape/src/record/span.rs | 12 ++++++------ 4 files changed, 12 insertions(+), 12 deletions(-) diff --git a/tracing-tape/src/record/callsite.rs b/tracing-tape/src/record/callsite.rs index e118f5f..bb9814f 100644 --- a/tracing-tape/src/record/callsite.rs +++ b/tracing-tape/src/record/callsite.rs @@ -2,7 +2,7 @@ use zerocopy::{little_endian, AsBytes, FromBytes, FromZeroes, Unaligned}; use super::{record_kind, RecordHeader}; -#[derive(Debug, AsBytes, FromZeroes, FromBytes, Unaligned)] +#[derive(Debug, Clone, Copy, AsBytes, FromZeroes, FromBytes, Unaligned)] #[repr(transparent)] pub struct CallsiteInfo(u8); @@ -73,7 +73,7 @@ impl CallsiteInfo { } } -#[derive(Debug, AsBytes, FromZeroes, FromBytes, Unaligned)] +#[derive(Debug, Clone, Copy, AsBytes, FromZeroes, FromBytes, Unaligned)] #[repr(C)] pub struct CallsiteRecord { pub header: RecordHeader, @@ -114,7 +114,7 @@ impl CallsiteRecord { } } -#[derive(Debug, AsBytes, FromZeroes, FromBytes, Unaligned)] +#[derive(Debug, Clone, Copy, AsBytes, FromZeroes, FromBytes, Unaligned)] #[repr(C)] pub struct CallsiteFieldRecord { pub header: RecordHeader, diff --git a/tracing-tape/src/record/event.rs b/tracing-tape/src/record/event.rs index f104d00..1247f13 100644 --- a/tracing-tape/src/record/event.rs +++ b/tracing-tape/src/record/event.rs @@ -2,7 +2,7 @@ use zerocopy::{little_endian, AsBytes, FromBytes, FromZeroes, Unaligned}; use super::{record_kind, RecordHeader}; -#[derive(AsBytes, FromZeroes, FromBytes, Unaligned)] +#[derive(Debug, Clone, Copy, AsBytes, FromZeroes, FromBytes, Unaligned)] #[repr(C)] pub struct EventRecord { pub header: RecordHeader, @@ -24,7 +24,7 @@ impl EventRecord { } } -#[derive(AsBytes, FromZeroes, FromBytes, Unaligned)] +#[derive(Debug, Clone, Copy, AsBytes, FromZeroes, FromBytes, Unaligned)] #[repr(C)] pub struct EventValueRecord { pub header: RecordHeader, diff --git a/tracing-tape/src/record/mod.rs b/tracing-tape/src/record/mod.rs index 9307f3e..6c3ec49 100644 --- a/tracing-tape/src/record/mod.rs +++ b/tracing-tape/src/record/mod.rs @@ -28,7 +28,7 @@ pub mod record_kind { pub const SPAN_FOLLOWS: u8 = 0x25; } -#[derive(Debug, AsBytes, FromBytes, FromZeroes, Unaligned)] +#[derive(Debug, Clone, Copy, AsBytes, FromBytes, FromZeroes, Unaligned)] #[repr(C)] pub struct RecordHeader { pub kind: u8, diff --git a/tracing-tape/src/record/span.rs b/tracing-tape/src/record/span.rs index d4c3955..79bd14c 100644 --- a/tracing-tape/src/record/span.rs +++ b/tracing-tape/src/record/span.rs @@ -2,7 +2,7 @@ use zerocopy::{little_endian, AsBytes, FromBytes, FromZeroes, Unaligned}; use super::{record_kind, RecordHeader}; -#[derive(AsBytes, FromZeroes, FromBytes, Unaligned)] +#[derive(Debug, Clone, Copy, AsBytes, FromZeroes, FromBytes, Unaligned)] #[repr(C)] pub struct SpanOpenRecord { pub header: RecordHeader, @@ -27,7 +27,7 @@ impl SpanOpenRecord { } } -#[derive(AsBytes, FromZeroes, FromBytes, Unaligned)] +#[derive(Debug, Clone, Copy, AsBytes, FromZeroes, FromBytes, Unaligned)] #[repr(C)] pub struct SpanCloseRecord { pub header: RecordHeader, @@ -48,7 +48,7 @@ impl SpanCloseRecord { } } -#[derive(AsBytes, FromZeroes, FromBytes, Unaligned)] +#[derive(Debug, Clone, Copy, AsBytes, FromZeroes, FromBytes, Unaligned)] #[repr(C)] pub struct SpanEnterRecord { pub header: RecordHeader, @@ -71,7 +71,7 @@ impl SpanEnterRecord { } } -#[derive(AsBytes, FromZeroes, FromBytes, Unaligned)] +#[derive(Debug, Clone, Copy, AsBytes, FromZeroes, FromBytes, Unaligned)] #[repr(C)] pub struct SpanExitRecord { pub header: RecordHeader, @@ -92,7 +92,7 @@ impl SpanExitRecord { } } -#[derive(AsBytes, FromZeroes, FromBytes, Unaligned)] +#[derive(Debug, Clone, Copy, AsBytes, FromZeroes, FromBytes, Unaligned)] #[repr(C)] pub struct SpanValueRecord { pub header: RecordHeader, @@ -115,7 +115,7 @@ impl SpanValueRecord { } } -#[derive(AsBytes, FromZeroes, FromBytes, Unaligned)] +#[derive(Debug, Clone, Copy, AsBytes, FromZeroes, FromBytes, Unaligned)] #[repr(C)] pub struct SpanFollowsRecord { pub header: RecordHeader, From c653f85dc14d7a0c82fa95c595fbe8d94493db5f Mon Sep 17 00:00:00 2001 From: Simon Oehrl Date: Thu, 14 Nov 2024 14:31:43 +0100 Subject: [PATCH 2/2] chore: update changelog file --- CHANGELOG.md | 1 + 1 file changed, 1 insertion(+) diff --git a/CHANGELOG.md b/CHANGELOG.md index 6dbb23a..9b533a9 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -9,6 +9,7 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0 ### Added - This CHANGELOG file that will contain all notable changes to this project ([#2](https://github.com/soehrl/tracing-tape/pull/2/)) +- Derive the `Debug`, `Clone`, and `Copy` traits for all structs in the `tracing-tape` crate ([#11](https://github.com/soehrl/tracing-tape/pull/11/)) ### Fixed - Parsing of *SpanExit* records ([#3](https://github.com/soehrl/tracing-tape/pull/3/))