Commit Graph

129 Commits

Author SHA1 Message Date
Menghan Li deb01f422a add stats tagger APIs and connection stats. (#992)
* add stats.tagger APIs and connection stats.

* fix comments

use ac.ctx in http2client
change name and comments
small fixes stats_tests

* add a TODO to ConnTagInfo

* rename handle to handleRPC

* modify stats comments
2016-11-30 16:25:46 -08:00
Menghan Li 5938492b60 fix comments 2016-11-07 15:16:52 -08:00
Menghan Li a4edc462a2 renaming 2016-11-07 15:16:52 -08:00
Menghan Li aa5b5c7e2a client side, use user context, and change sent time 2016-11-07 15:16:52 -08:00
Menghan Li 1896a21fb3 fix review comments 2016-11-07 15:16:52 -08:00
Menghan Li 1d2a929ae5 add stats.Begin and stats.End 2016-11-07 15:16:52 -08:00
Menghan Li c0087b3c91 add failfast option to stats 2016-11-07 15:16:52 -08:00
Menghan Li c698588285 Renaming types and variables 2016-11-07 15:16:52 -08:00
Menghan Li e42a66c81b add client stats 2016-11-07 15:16:52 -08:00
Menghan Li 17ee5a3637 Add package stats, and export stats on server side. 2016-11-07 15:16:52 -08:00
iamqizhao 4596c55b7a Use the correct error in defer call 2016-10-25 15:32:12 -07:00
Menghan Li 52f6504dc2 Merge pull request #867 from iamqizhao/master
Support client side interceptor
2016-09-02 15:12:15 -07:00
Menghan Li 5e734ab23e Avoid creating transport stream error outside of transport 2016-09-02 11:57:42 -07:00
iamqizhao 1e47e17230 Support client side interceptor 2016-08-26 13:50:38 -07:00
Menghan Li c72b08a774 Change errors returned by ac.wait() 2016-08-16 16:56:16 -07:00
Menghan Li a4587cd3f0 Fix review comments 2016-08-02 21:07:00 -07:00
Menghan Li 558ecfb3a6 Remove RPC non-fail-fast return 2016-08-01 15:55:08 -07:00
Menghan Li e9e6ae6215 Make Dial() withblock error on bad certificates 2016-08-01 15:55:08 -07:00
iamqizhao a4c08780d5 Merge branch 'master' of https://github.com/grpc/grpc-go 2016-07-29 10:10:58 -07:00
iamqizhao 32df3a68d0 more fix 2016-07-28 18:32:51 -07:00
iamqizhao 8c908a8c1d Reject over-sized requests on server 2016-07-26 16:44:49 -07:00
iamqizhao f1e4d3b180 allow multiple GoAways and retrying on illegal streams 2016-07-25 16:35:32 -07:00
iamqizhao 1ea428008b add the missing close(s.done) 2016-07-15 16:55:51 -07:00
iamqizhao 55b7bd0424 add the missing close(s.done) 2016-07-15 16:39:31 -07:00
iamqizhao 07bf108290 fix Invoke to accommodate the change 2016-07-15 16:02:21 -07:00
Menghan Li ffdfb592e8 Fix type assertion error after rebase 2016-07-08 10:35:38 -07:00
iamqizhao be59d023f2 refactor error handling a bit 2016-06-29 15:21:44 -07:00
iamqizhao 213a20c4fe bug fix, typo fix and slight error refactoring 2016-06-28 16:08:19 -07:00
iamqizhao 01ef81a4d9 minor fix including removal of debugging logs, error code fix, etc. 2016-06-27 15:30:20 -07:00
iamqizhao 3e71fb360d Support fail-fast mode and make it the default 2016-06-27 14:36:59 -07:00
iamqizhao 9a14ca798d Add more comments 2016-05-25 17:18:05 -07:00
iamqizhao 9dc3da0633 make downErr for Balancer down closure 2016-05-25 11:28:45 -07:00
iamqizhao 8eab9cb6bf rewrite Balancer Get comments 2016-05-24 18:14:24 -07:00
iamqizhao 0b1df3bca2 add BalancerGetOption 2016-05-24 17:19:44 -07:00
iamqizhao 5b484e4099 add Notify API; move the name resolving into Balancer 2016-05-23 19:25:01 -07:00
iamqizhao 5d62215b41 some minor fixes 2016-05-18 16:26:12 -07:00
iamqizhao 162d8d2d33 Tune Invoke behavior for the new Balancer. 2016-05-18 11:18:10 -07:00
iamqizhao 9c2d8546bf load balancer 2016-05-06 15:47:09 -07:00
Xiang Li 11ef22ebfb make comment on invoke/sendmsg more clear 2016-04-01 10:47:25 -07:00
Anthony Yeh a294a45ba0 Don't treat StatusDesc() as a format string.
For example, if the error message contains "%v", then passing
StatusDesc() as the format string to Errorf() will replace "%v" with
"%!v(MISSING)".
2016-03-19 17:15:21 -07:00
Brad Fitzpatrick 110fd99e30 Fix crashes where transports returned errors unhandled by the message parser.
The http.Handler-based transport body reader was returning error types
not understood by the recvMsg parser. See #557 for some background and
examples.

Fix the http.Handler transport and add tests. I copied in a subset of
the http2 package's serverTest type, adapted slightly to work with
grpc. In the process of adding tests, I discovered that
ErrUnexpectedEOF was also not handled by the regular server
transport. Document the rules and fix that crash as well.

Unrelated stuff in this CL:

* make tests listen on localhost:0 instead of :0, to avoid Mac firewall
  pop-up dialogs.

* rename parser.s field to parser.r, to be more idiomatic that it's an
  io.Reader and not anything fancier. (it's not acting like type
  stream, even if that's the typical concrete type)

* move 5 byte temp buffer into parser, rather than allocating it for
  each new message. (drop in the bucket improvement in garbage; more
  to do later)

* rename http2RSTErrConvTab to http2ErrConvTab, per Qi's earlier
  CL. Also add the HTTP/1.1-required error mapping for completeness,
  not that it should ever arise with gRPC, also per Qi's earlier CL
  referenced in #557.
2016-02-24 15:09:17 -08:00
iamqizhao af8888dc8d remove Compressor/DecompressorGenerator 2016-01-29 14:38:20 -08:00
iamqizhao 4258b32de7 Don't create buffer if compressor is nil 2016-01-25 11:47:04 -08:00
iamqizhao da3bb0c9f7 Support compression 2016-01-22 18:21:41 -08:00
iamqizhao ea6e7189de Move callInfo into the right position 2016-01-07 14:44:36 -08:00
iamqizhao 390cd42894 revise Picker API 2015-10-08 11:05:59 -07:00
iamqizhao ec8414396c bug fix: stop busy wait on new transport 2015-10-08 09:09:06 -07:00
iamqizhao bc49d12737 refactor servier side trace again 2015-10-05 17:49:53 -07:00
iamqizhao b4aa9eae10 fix methodFamily breakage 2015-10-02 15:38:37 -07:00
iamqizhao c01ea6e359 revise Picker API 2015-09-29 10:24:03 -07:00
iamqizhao 23fea5c44a comments 2015-09-25 13:32:35 -07:00
iamqizhao ec99a32572 redesign the API 2015-09-25 13:21:25 -07:00
iamqizhao 9afcd0c697 preliminary refactoring for custom naming and load balancing 2015-09-23 19:09:37 -07:00
iamqizhao dd992b3748 remove transportSeq 2015-09-21 18:17:49 -07:00
Sameer Ajmani 18c359f6a9 grpc: rename request trace family from "Sent" to "grpc.Sent". 2015-08-09 23:01:01 -04:00
yangzhouhan a3dce46030 making trace as an error when error occurs and fix the format 2015-07-28 10:13:40 -07:00
yangzhouhan e79ac3cb4b remove duplicate nil check separate var 2015-07-24 16:36:12 -07:00
yangzhouhan 6cfd2022af add a bool in payload struct 2015-07-24 11:30:14 -07:00
yangzhouhan bd20726bd8 add client streaming response trace 2015-07-23 18:14:52 -07:00
yangzhouhan 9d4ac0cac5 fix mutex problems and merge multiple servingstatus to one single test 2015-07-23 14:45:27 -07:00
yangzhouhan 0252e09f21 add response trace log for client streaming 2015-07-23 10:55:42 -07:00
yangzhouhan c63dd40b2a change the completion of the trace 2015-06-18 11:45:40 -07:00
yangzhouhan 58dcee7526 add tracing for streaming rpc 2015-06-17 19:30:57 -07:00
yangzhouhan 4782e693c2 Revert "add tracing for streaming rpc"
This reverts commit 8071e421ab.
2015-06-17 19:21:04 -07:00
yangzhouhan 8071e421ab add tracing for streaming rpc 2015-06-17 19:04:54 -07:00
David Symonds c2bdf96033 Add gRPC client-side integration with golang.org/x/net/trace.
This will make client (outgoing) traces appear on /debug/requests.
There's some information lacking, but it's enough for now.
2015-06-09 06:57:52 -07:00
iamqizhao 3259049490 fix some typos and run gofmt 2015-04-17 13:50:18 -07:00
iamqizhao 9a5de0e954 make Codec configurable when creating grpc.ClientConn and grpc.Server 2015-04-01 14:02:26 -07:00
iamqizhao 8b08b2d7b2 Interface change to accommodate the support of non-protobuf data formats 2015-03-25 15:18:07 -07:00
iamqizhao 9c6754e004 fix a malformed error status 2015-03-23 11:47:27 -07:00
iamqizhao 3882eb29ca remove debug logging 2015-03-13 00:19:56 -07:00
iamqizhao e10de7abd1 fix some bugs 2015-03-13 00:16:18 -07:00
iamqizhao 57c1951dc9 tightened some rpcErr loose ends and revised some tests 2015-03-05 13:56:48 -08:00
iamqizhao dbe8c6ed11 Remove port when assignning to CallHdr.Host 2015-02-19 13:55:18 -08:00
Matt T. Proud 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
iamqizhao 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
David Symonds 416f68f4b3 Update import paths to use the new official location of the Go gRPC package. 2015-02-09 11:46:20 +11:00
David Symonds 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
David Symonds 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