Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Add CEN Reporting Proposal. #15

Closed
wants to merge 1 commit into from
Closed

Add CEN Reporting Proposal. #15

wants to merge 1 commit into from

Conversation

hdevalence
Copy link
Collaborator

This Sourabh's CEN reporting proposal.

Co-authored-by: Sourabh Niyogi [email protected]

@hdevalence
Copy link
Collaborator Author

cc @sourabhniyogi

This Sourabh's CEN reporting proposal.

Co-authored-by: Sourabh Niyogi <[email protected]>
@hdevalence hdevalence force-pushed the reporting-proposal branch from 49c828c to daead34 Compare April 1, 2020 05:43
key: String, // Key_{j-1}. [hexadecimal form, 64 chars]
j : Int, // initial period j
jMax : Int // number of periods
```
Copy link
Collaborator Author

Choose a reason for hiding this comment

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

Because the reports are downloaded by all clients, we should ensure they are as compact as possible. I think this format is not particularly space-efficient. For instance, L and key should be encoded as bytes, not hex-encoded strings, and we may want to use LEB128 to encode j and jMax.

Copy link
Collaborator Author

Choose a reason for hiding this comment

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

I think it might be worth making a separate issue to figure out exactly what data we need to include in a report.

Copy link
Collaborator Author

Choose a reason for hiding this comment

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

#17

understand the system solely from a logging point of view.

CEN Clients will then write/read:
* **CEN Report Writes.** Write to a bucket endpoint with a new log line. For
Copy link
Collaborator Author

Choose a reason for hiding this comment

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

I think we will need to have a backend server, not just writing to a bucket endpoint, because the backend should randomize the order of reports in each batch and potentially add noise.

will write to the longest bucket prefix that covers all the geohashes
visited, e.g. someone who has been in geohashes ABCDE and ABDEF will write to
bucket AB.
* **CEN Report Reads.** Read from a time-based log system. For geohash
Copy link
Collaborator Author

Choose a reason for hiding this comment

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

It might also be worth making a separate issue to work through details of sharding?

Copy link
Collaborator Author

Choose a reason for hiding this comment

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

#16

@hdevalence
Copy link
Collaborator Author

@sourabhniyogi What do you think of those concerns?

@hdevalence
Copy link
Collaborator Author

Closing this for now because parts of it have been addressed in other PRs.

@hdevalence hdevalence closed this Apr 3, 2020
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