39 Commits

Author SHA1 Message Date
e07e93b00e Merge pull request #358 from Sajmani/work
grpc: make trace.FromContext work, and record handler status in traces
2015-09-28 23:29:59 -07:00
ec99a32572 redesign the API 2015-09-25 13:21:25 -07:00
ee98c48bb4 Incorporate dsymonds' comments.
Fix another bug: cancel the Context provided to an RPC server handler
as soon as that handler returns, so that goroutines started by that
handler can detect that the handler is done and exit. Without this
fix, goroutines started by a handler will keep running, unless the
handler itself arranges to cancel the context.
2015-09-23 22:17:37 -04:00
9afcd0c697 preliminary refactoring for custom naming and load balancing 2015-09-23 19:09:37 -07:00
b6c9c5a70f grpc: record the description of the status returned by server RPC
handlers in request traces, and mark the trace as an error if the
status is not OK.

Install the trace into the Context passed to server handlers using
trace.NewContext, so that code in the server handlers can annotate the
trace using trace.FromContext.
2015-09-23 17:07:35 -04:00
dd992b3748 remove transportSeq 2015-09-21 18:17:49 -07:00
18c359f6a9 grpc: rename request trace family from "Sent" to "grpc.Sent". 2015-08-09 23:01:01 -04:00
0231ff14bc remove duplicate check 2015-07-28 18:11:22 -07:00
d90cbe84e6 fix trace set error bugs 2015-07-28 17:18:35 -07:00
3616d6be54 fix trace setError 2015-07-28 15:27:46 -07:00
a3dce46030 making trace as an error when error occurs and fix the format 2015-07-28 10:13:40 -07:00
845510e440 add server side tracing 2015-07-27 14:33:17 -07:00
e79ac3cb4b remove duplicate nil check separate var 2015-07-24 16:36:12 -07:00
be4cb2a81a relocate response log 2015-07-24 15:39:25 -07:00
6cfd2022af add a bool in payload struct 2015-07-24 11:30:14 -07:00
bd20726bd8 add client streaming response trace 2015-07-23 18:14:52 -07:00
9d4ac0cac5 fix mutex problems and merge multiple servingstatus to one single test 2015-07-23 14:45:27 -07:00
0252e09f21 add response trace log for client streaming 2015-07-23 10:55:42 -07:00
7c8ee356b1 Include client streaming payloads in trace, and centralise trace termination logic. 2015-07-21 09:09:35 +10:00
671cc291d1 Use full method for trace construction.
The methodFamily func already chops up the string, and the title should be the full method string too.

This now matches the non-streaming client trace.
2015-06-24 13:22:00 +10:00
5cf38682e6 fix traceFinish 2015-06-18 17:24:50 -07:00
8f923d5911 typo 2015-06-18 11:48:27 -07:00
c63dd40b2a change the completion of the trace 2015-06-18 11:45:40 -07:00
58dcee7526 add tracing for streaming rpc 2015-06-17 19:30:57 -07:00
4782e693c2 Revert "add tracing for streaming rpc"
This reverts commit 8071e421ab7170765af71d381294185bd9d303a9.
2015-06-17 19:21:04 -07:00
8071e421ab add tracing for streaming rpc 2015-06-17 19:04:54 -07:00
3259049490 fix some typos and run gofmt 2015-04-17 13:50:18 -07:00
bec42c09aa gofmt 2015-04-01 14:05:38 -07:00
9a5de0e954 make Codec configurable when creating grpc.ClientConn and grpc.Server 2015-04-01 14:02:26 -07:00
8b08b2d7b2 Interface change to accommodate the support of non-protobuf data formats 2015-03-25 15:18:07 -07:00
fc10c7b40c Let RecvProto return nil for client stream rpc 2015-02-19 16:48:59 -08:00
dbe8c6ed11 Remove port when assignning to CallHdr.Host 2015-02-19 13:55:18 -08:00
a720ae6f48 Make error conveyance more idiomatic.
This commit applies two bulk changes to the grpc error reporting
mechanisms:

(1.) Error strings for errors that originate within grpc are prefixed
    with the package name for better clarity for where they originate
    since they could percolate up in the users call chains to the
    originator.

(2.) Errors that are, in fact, singletons have been converted from
    fmt.Errorf to errors.New and assigned as package-level variables.
    This bodes particularly well for enabling API customers to elect to
    handle these errors upon receipt via equality comparison.  This had
    been previous impossible with the original API.

Supplementarily, ``gofmt -w -s=true`` has been run on the repository to
cleanup residual defects, and it has detected and repaired a few.

TEST=Manual go test ./...
2015-02-19 13:17:17 +01:00
634392a1c6 Remove the 2nd RecvProto in the generated code for client streaming 2015-02-18 22:18:01 -08:00
24d7933267 Always CloseStream when some error happen (especailly when reading header metadata returns an error). That is the only way to remove the stream from ClientTransport.activeStreams. 2015-02-18 14:00:26 -08:00
fe60321708 Fix some comments 2015-02-13 16:43:51 -08:00
416f68f4b3 Update import paths to use the new official location of the Go gRPC package. 2015-02-09 11:46:20 +11:00
9e789c396b Rename top level package from "rpc" to "grpc".
Also move the nascent package doc to doc.go.
2015-02-09 11:45:33 +11:00
e71095e0ec Move source files up one level.
The top-level directory in this repository is going to be
the main "grpc" package.
2015-02-09 11:33:38 +11:00