Skip to content

Conversation

crdant
Copy link
Member

@crdant crdant commented Oct 14, 2025

TL;DR

Implements machine fingerprint-based cluster identification that aligns with Vandoor's telemetry architecture requirements for tracking application instances across machine boundaries.

Details

Generates a stable machine fingerprint using platform-specific identifiers (IOPlatformUUID on macOS, D-Bus machine-id on Linux, MachineGuid on Windows) and hashes them with SHA256 for privacy. This fingerprint initializes once at client creation and propagates to all instances, ensuring consistent cluster identification throughout the client's lifetime.

This change completes the telemetry architecture alignment started in PR #5, ensuring the Python SDK matches the behavior established by the Go SDK and meets Vandoor's data model requirements.

🤖 Generated with Claude Code

- Add _machine_id property to ReplicatedClient and AsyncReplicatedClient
- Initialize _machine_id from get_machine_fingerprint() at client creation
- Instance and AsyncInstance now store _machine_id from client
- Use _machine_id as X-Replicated-ClusterID in all telemetry requests
- Add tests verifying machine_id propagation and header usage

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude <[email protected]>
Copy link
Member

@laverya laverya left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Makes sense to me

@crdant crdant merged commit fc91c40 into main Oct 14, 2025
5 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants