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 support for cloud tracing #795

Closed
sduskis opened this issue Apr 12, 2016 · 6 comments
Closed

Add support for cloud tracing #795

sduskis opened this issue Apr 12, 2016 · 6 comments
Assignees
Labels
api: bigtable Issues related to the googleapis/java-bigtable-hbase API.

Comments

@sduskis
Copy link
Contributor

sduskis commented Apr 12, 2016

A user worked out how to use cloud tracing with cloud bigtable on stack overflow.
Incorporate this into the cloud bigtable client.

@ankurcha
Copy link

Having some kind of a callback(s) on each backend rpc would be very helpful. Currently the entire thing looks like a single big rpc but knowing the individual rpc time would help diagnose hotspots.

screen shot 2016-12-16 at 10 13 33 am

@sduskis
Copy link
Contributor Author

sduskis commented Dec 16, 2016

I don't know much about tracing, which is why this wasn't built yet. Any pointers would be appreciated.

FYI, we do have quite a bit of performance metrics: https://cloud.google.com/bigtable/docs/hbase-metrics

@ankurcha
Copy link

ankurcha commented Dec 16, 2016

From what i understand about the way bigtable grpc client is being used (please correct me if I am wrong), the getScanner() returns an iterator which fetches rows in batches (by doing an rpc) to the bigtable instance. The best/easiest/most flexible way would be to allow the user to specify a callback during the ReadRowsRequest generation (by the HBASE_ADAPTER) and then another callback which is fired when the ReadRowsResponse is returned. This would probably be a good first step.

Following is a presentation for htrace-hbase which does the tracing for hbase: http://www.slideshare.net/hadoopxnttdata/htrace-hbase-meetup-nyc-20141015

@sduskis
Copy link
Contributor Author

sduskis commented Dec 16, 2016

Scans have a streaming RPC, meaning 1 request for a range of rows, and the server responds in multiple batches.

We can definitely work in a callback mechanism for this. The easiest way for us is via the metrics framework mentioned above. We currently track time to first response in the scanner, but we could also add another Timers for time between ReadRowsResponses.

I'll also read up on htrace-hbase. Thanks for the pointer.

@sduskis
Copy link
Contributor Author

sduskis commented Sep 12, 2017

FYI, we are working on an integration with opencensus-java, which will implement tracing.

@sduskis
Copy link
Contributor Author

sduskis commented Nov 27, 2017

This is implemented

@sduskis sduskis closed this as completed Nov 27, 2017
@google-cloud-label-sync google-cloud-label-sync bot added the api: bigtable Issues related to the googleapis/java-bigtable-hbase API. label Jan 31, 2020
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
api: bigtable Issues related to the googleapis/java-bigtable-hbase API.
Projects
None yet
Development

No branches or pull requests

3 participants