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

[distributed] investigate grpc service for sybil #37

Open
okayzed opened this issue May 16, 2018 · 4 comments
Open

[distributed] investigate grpc service for sybil #37

okayzed opened this issue May 16, 2018 · 4 comments
Labels

Comments

@okayzed
Copy link
Collaborator

okayzed commented May 16, 2018

No description provided.

@tmc
Copy link
Contributor

tmc commented May 22, 2018

Refs #42

@tmc tmc added the grpc label Jun 18, 2018
okayzed pushed a commit that referenced this issue Oct 9, 2018
[proto] add proto file
[grpc] simplify response
[grpc] stub out implementation
[grpc] add sybild cmd skeleton
[grpc] add stub comments to satisfy linter
[grpc] use x/net/context for go<1.9
[grpc] add Trim methods
[grpc] add initial grpc implementation
[grpc] remove panics
[grpc] implement GetTable
[grpc] implement more of query
[grpc] query - implement samples
[grpc] populate histogram
[grpc] fixup
[grpc] use exec, implement more of query
[query] use x/net/context for 1.6 support
[grpc] implement time series queries
[grpc] set large fields to uint64
[grpc] add filter support
[grpc] populate distinct count
[grpc] add set fields support in samples
[grpc] add basic doc.go
[grpc] implement ReadIngestionLog
[grpc] implement ingest
okayzed pushed a commit that referenced this issue Oct 9, 2018
[proto] add proto file
[grpc] simplify response
[grpc] stub out implementation
[grpc] add sybild cmd skeleton
[grpc] add stub comments to satisfy linter
[grpc] use x/net/context for go<1.9
[grpc] add Trim methods
[grpc] add initial grpc implementation
[grpc] remove panics
[grpc] implement GetTable
[grpc] implement more of query
[grpc] query - implement samples
[grpc] populate histogram
[grpc] fixup
[grpc] use exec, implement more of query
[query] use x/net/context for 1.6 support
[grpc] implement time series queries
[grpc] set large fields to uint64
[grpc] add filter support
[grpc] populate distinct count
[grpc] add set fields support in samples
[grpc] add basic doc.go
[grpc] implement ReadIngestionLog
[grpc] implement ingest
okayzed pushed a commit that referenced this issue Oct 9, 2018
[proto] add proto file
[grpc] simplify response
[grpc] stub out implementation
[grpc] add sybild cmd skeleton
[grpc] add stub comments to satisfy linter
[grpc] use x/net/context for go<1.9
[grpc] add Trim methods
[grpc] add initial grpc implementation
[grpc] remove panics
[grpc] implement GetTable
[grpc] implement more of query
[grpc] query - implement samples
[grpc] populate histogram
[grpc] fixup
[grpc] use exec, implement more of query
[query] use x/net/context for 1.6 support
[grpc] implement time series queries
[grpc] set large fields to uint64
[grpc] add filter support
[grpc] populate distinct count
[grpc] add set fields support in samples
[grpc] add basic doc.go
[grpc] implement ReadIngestionLog
[grpc] implement ingest
okayzed pushed a commit that referenced this issue Oct 10, 2018
[proto] add proto file
[grpc] simplify response
[grpc] stub out implementation
[grpc] add sybild cmd skeleton
[grpc] add stub comments to satisfy linter
[grpc] use x/net/context for go<1.9
[grpc] add Trim methods
[grpc] add initial grpc implementation
[grpc] remove panics
[grpc] implement GetTable
[grpc] implement more of query
[grpc] query - implement samples
[grpc] populate histogram
[grpc] fixup
[grpc] use exec, implement more of query
[query] use x/net/context for 1.6 support
[grpc] implement time series queries
[grpc] set large fields to uint64
[grpc] add filter support
[grpc] populate distinct count
[grpc] add set fields support in samples
[grpc] add basic doc.go
[grpc] implement ReadIngestionLog
[grpc] implement ingest
okayzed pushed a commit that referenced this issue Oct 10, 2018
[proto] add proto file
[grpc] simplify response
[grpc] stub out implementation
[grpc] add sybild cmd skeleton
[grpc] add stub comments to satisfy linter
[grpc] use x/net/context for go<1.9
[grpc] add Trim methods
[grpc] add initial grpc implementation
[grpc] remove panics
[grpc] implement GetTable
[grpc] implement more of query
[grpc] query - implement samples
[grpc] populate histogram
[grpc] fixup
[grpc] use exec, implement more of query
[query] use x/net/context for 1.6 support
[grpc] implement time series queries
[grpc] set large fields to uint64
[grpc] add filter support
[grpc] populate distinct count
[grpc] add set fields support in samples
[grpc] add basic doc.go
[grpc] implement ReadIngestionLog
[grpc] implement ingest
okayzed pushed a commit that referenced this issue Oct 10, 2018
[proto] add proto file
[grpc] simplify response
[grpc] stub out implementation
[grpc] add sybild cmd skeleton
[grpc] add stub comments to satisfy linter
[grpc] use x/net/context for go<1.9
[grpc] add Trim methods
[grpc] add initial grpc implementation
[grpc] remove panics
[grpc] implement GetTable
[grpc] implement more of query
[grpc] query - implement samples
[grpc] populate histogram
[grpc] fixup
[grpc] use exec, implement more of query
[query] use x/net/context for 1.6 support
[grpc] implement time series queries
[grpc] set large fields to uint64
[grpc] add filter support
[grpc] populate distinct count
[grpc] add set fields support in samples
[grpc] add basic doc.go
[grpc] implement ReadIngestionLog
[grpc] implement ingest
@cpu
Copy link

cpu commented Jan 11, 2021

Hi folks, 👋

I notice that a gRPC service implementation landed in-tree in 2018 with 364be19 but was later replaced with the Go API library in 2020 with 08beb86.

I wasn't able to find any commentary about the removal (were the proto dependencies too heavy/technology specific?) Could someone summarize why the gRPC service was dropped & how it relates to the future of this issue? Is this a WONTFIX for the project or a TODO?

Thanks!

@okayzed
Copy link
Collaborator Author

okayzed commented Jan 12, 2021

the gRPC service essentially was a new flag on the sybil binary that allows you to specify a remote host to connect to and execute a sybil query on. the sybild service would accept connections and receive the list of all options to run in the query. it then ran the query (by invoking the sybil binary) and returned the results over grpc to the client.

the main reason for removal was extra upkeep + not enough usage + it was tied to gRPC.

sybil is still capable of running queries remotely on hosts over SSH but we don't have a formal RPC API inside sybil itself. that can be built as a separate service that invokes sybil binaries and transfers results around as the sybil binary itself is capable of combining results from multiple runs on different machines.

@cpu
Copy link

cpu commented Jan 12, 2021

@okayzed That makes sense, thanks! 👍

sybil is still capable of running queries remotely on hosts over SSH but we don't have a formal RPC API inside sybil itself. that can be built as a separate service that invokes sybil binaries and transfers results around as the sybil binary itself is capable of combining results from multiple runs on different machines.

I'm weighing the pros/cons of developing a fronting service like this but I think we've settled on a model that directly invokes one sybil binary for the time being.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Projects
None yet
Development

No branches or pull requests

3 participants