I don't think that any value of GRPC_TRACE is valid for production; those 
are all way too spammy since their whole purpose is to allow detailed 
inspection. They are really meant for tracing individual steps in the 
operation of gRPC for development and debugging purposes.

As for logs, our default value is ERROR but I think that INFO or ERROR 
would be ok. DEBUG might be too spammy, though most uses of DEBUG are gated 
behind other tracers anyway.

On Thursday, October 5, 2017 at 9:29:36 AM UTC-7, Arpit Baldeva wrote:
>
> Yes, I do turn on the trace for api (and some other categories) and set 
> the verbosity level to INFO. 
>
> I thought of the various GRPC_TRACE variables as simply the categories I 
> can enable for logging. Are you suggesting if I don't turn anything on, 
> I'll still get INFO/ERR logging at a much reduced level or you mean that 
> "api" category itself is too verbose for production usage?
>
> What would be a typical logging configuration for prod in your opinion?
>
> Thanks.  
>
>
>
> On Wednesday, October 4, 2017 at 4:05:22 PM UTC-7, Vijay Pai wrote:
>>
>> The amount of logging you're describing suggests that you have 
>> GRPC_TRACE=api environment variable set; is that correct? I don't think 
>> that the combination of api tracing and INFO level logging is intended for 
>> production use. If you don't have the GRPC_TRACE environment variable set, 
>> that much won't come out on INFO.
>> - Vijay
>>
>> On Wed, Oct 4, 2017 at 3:52 PM Arpit Baldeva <[email protected]> wrote:
>>
>>> Hi,
>>>
>>> Tested on 1.4.2.
>>>
>>> Currently, grpc has 3 logging levels. 
>>>
>>>   GPR_LOG_SEVERITY_DEBUG,
>>>   GPR_LOG_SEVERITY_INFO,
>>>   GPR_LOG_SEVERITY_ERROR
>>>
>>> IMHO, currently GPR_LOG_SEVERITY_INFO logs too much and is unsuitable 
>>> for use in prod scenario. INFO to me means that something interesting 
>>> happened which is not an error but an important event to be noticed. So for 
>>> example, if a client logs in, login/logout may be INFO log but if the 
>>> client executes 5 rpcs, rpc handling generates DEBUG logs and not INFO log.
>>>
>>> Currently, for a single rpc call , it spews 20 lines when nothing out of 
>>> ordinary happened.  
>>>
>>> 2017/10/04-15:42:54.247 INFO   RETURN_EVENT[000001DCD6DBA130]: 
>>> OP_COMPLETE: tag:000001E6B6B60870 OK
>>> 2017/10/04-15:42:54.247 INFO   
>>> grpc_call_start_batch(call=000001DCD713FBE8, ops=0000003515AFF510, nops=1, 
>>> tag=000001E6B6B45180, reserved=0000000000000000)
>>> 2017/10/04-15:42:54.247 INFO   ops[0]: RECV_CLOSE_ON_SERVER 
>>> cancelled=000001E6B6B451F0
>>> 2017/10/04-15:42:54.247 INFO   
>>> grpc_completion_queue_next(cc=000001DCD6DBA130, deadline=gpr_timespec { 
>>> tv_sec: 9223372036854775807, tv_nsec: 0, clock_type: 1 }, 
>>> reserved=0000000000000000)
>>> 2017/10/04-15:42:54.247 INFO   
>>> grpc_server_request_registered_call(server=000001DCD6CE1AA0, 
>>> rmp=000001DCD7064460, call=000001E6B6B60A28, deadline=000001DDBA92F558, 
>>> initial_metadata=000001DDBA92F590, optional_payload=000001E6B6B60A30, 
>>> cq_bound_to_call=000001DCD6DBA130, cq_for_notification=000001DCD6DBA130, 
>>> tag=000001E6B6B609F0)
>>> 2017/10/04-15:42:54.247 INFO   grpc_call_get_peer(000001DCD713FBE8)
>>> 2017/10/04-15:42:54.247 INFO   grpc_call_get_peer(000001DCD713FBE8)
>>> 2017/10/04-15:42:54.263 INFO   
>>> grpc_call_start_batch(call=000001DCD713FBE8, ops=000000351C4FE5E0, nops=3, 
>>> tag=000001DDB9ADCCC8, reserved=0000000000000000)
>>> 2017/10/04-15:42:54.263 INFO   ops[0]: SEND_INITIAL_METADATA(nil)
>>> 2017/10/04-15:42:54.263 INFO   ops[1]: SEND_MESSAGE ptr=000001DCD6C06700
>>> 2017/10/04-15:42:54.263 INFO   ops[2]: SEND_STATUS_FROM_SERVER status=0 
>>> details=(null)(nil)
>>> 2017/10/04-15:42:54.263 INFO   
>>> cq_end_op_for_next(exec_ctx=000000351C4FE528, cc=000001DCD6DBA130, 
>>> tag=000001DDB9ADCCC8, error="No Error", done=00007FF6349AFA90, 
>>> done_arg=000001DCD71413E8, storage=000001DCD71413F0)
>>> 2017/10/04-15:42:54.263 INFO   
>>> cq_end_op_for_next(exec_ctx=000000351C4FE528, cc=000001DCD6DBA130, 
>>> tag=000001E6B6B45180, error="No Error", done=00007FF6349AFA90, 
>>> done_arg=000001DCD7141308, storage=000001DCD7141310)
>>> 2017/10/04-15:42:54.263 INFO   RETURN_EVENT[000001DCD6DBA130]: 
>>> OP_COMPLETE: tag:000001DDB9ADCCC8 OK
>>> 2017/10/04-15:42:54.263 INFO   
>>> grpc_completion_queue_next(cc=000001DCD6DBA130, deadline=gpr_timespec { 
>>> tv_sec: 9223372036854775807, tv_nsec: 0, clock_type: 1 }, 
>>> reserved=0000000000000000)
>>> 2017/10/04-15:42:54.263 INFO   RETURN_EVENT[000001DCD6DBA130]: 
>>> OP_COMPLETE: tag:000001E6B6B45180 OK
>>> 2017/10/04-15:42:54.263 INFO   
>>> grpc_completion_queue_next(cc=000001DCD6DBA130, deadline=gpr_timespec { 
>>> tv_sec: 9223372036854775807, tv_nsec: 0, clock_type: 1 }, 
>>> reserved=0000000000000000)
>>> 2017/10/04-15:42:54.264 INFO   grpc_call_unref(c=000001DCD713FBE8)
>>> 2017/10/04-15:42:54.264 INFO   
>>> grpc_metadata_array_destroy(array=000001DCD71403D8)
>>> 2017/10/04-15:42:54.264 INFO   
>>> grpc_metadata_array_destroy(array=000001DDB9ADCB40)
>>>
>>>
>>>
>>> Does this seem like reasonable for INFO log level? 
>>>
>>> How about increasing the granularity of log levels? For example, SPAM, 
>>> TRACE, INFO, WARN, ERROR so that different logs are handled appropriately? 
>>>
>>> Thanks. 
>>>
>>>
>>> -- 
>>> You received this message because you are subscribed to the Google 
>>> Groups "grpc.io" group.
>>> To unsubscribe from this group and stop receiving emails from it, send 
>>> an email to [email protected].
>>> To post to this group, send email to [email protected].
>>> Visit this group at https://groups.google.com/group/grpc-io.
>>> To view this discussion on the web visit 
>>> https://groups.google.com/d/msgid/grpc-io/3475a2c9-c3fd-4321-84a7-a04df7707970%40googlegroups.com
>>>  
>>> <https://groups.google.com/d/msgid/grpc-io/3475a2c9-c3fd-4321-84a7-a04df7707970%40googlegroups.com?utm_medium=email&utm_source=footer>
>>> .
>>> For more options, visit https://groups.google.com/d/optout.
>>>
>>

-- 
You received this message because you are subscribed to the Google Groups 
"grpc.io" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to [email protected].
To post to this group, send email to [email protected].
Visit this group at https://groups.google.com/group/grpc-io.
To view this discussion on the web visit 
https://groups.google.com/d/msgid/grpc-io/fab1cd9b-8d34-407e-bd30-3edc8e3d6b75%40googlegroups.com.
For more options, visit https://groups.google.com/d/optout.

Reply via email to