Thanks!
I upgrade the grpc-java version from 1.3.3 to 1.51.0, and the IDLE time is 
reduced from 1000ms to 300ms.

在2023年8月25日星期五 UTC+8 13:05:56<sanjay...@google.com> 写道:

> Instead of modifying and using the jre/lib logging.properties file can you 
> try using one for your application alone as described in my previous 
> message (use Java property java.util.logging.config.file and so on)? 
>
> On Wednesday, August 23, 2023 at 7:49:39 PM UTC-7 邹会江 wrote:
>
>> 1. I modified the logging.properties file under jre/lib:
>> handlers=java.util.logging.ConsoleHandler
>> io.grpc.ChannelLogger.level=FINEST
>> io.grpc.level=FINEST
>> io.netty.level=FINEST
>> java.util.logging.ConsoleHandler.level=ALL
>>
>> java.util.logging.ConsoleHandler.formatter=java.util.logging.SimpleFormatter
>> but grpc doesn't have any log output to the console.
>>
>> 在2023年8月24日星期四 UTC+8 02:32:08<Sanjay Pujare> 写道:
>>
>>> On Wed, Aug 23, 2023 at 1:37 AM '邹会江' via grpc.io <
>>> grp...@googlegroups.com> wrote:
>>>
>>>> Sanjay Pujare:
>>>> Thank you for your reply!
>>>> 1. How do  i enable trace logging?
>>>>
>>>
>>> It uses java util logging so to enable using JAVA_OPTS:
>>>
>>> export JAVA_OPTS="-Djava.util.logging.config.file=/logging.properties"
>>>
>>> And in /logging.properties have this:
>>>
>>> handlers=java.util.logging.ConsoleHandler
>>> io.grpc.ChannelLogger.level=FINEST
>>> io.grpc.level=FINEST
>>> io.netty.level=FINEST
>>> java.util.logging.ConsoleHandler.level=ALL
>>>
>>> java.util.logging.ConsoleHandler.formatter=java.util.logging.SimpleFormatter
>>>
>>> Or you can tweak it to your liking.
>>>  
>>>
>>>> 2. DNS resolution,TLS hanshake and TCP connection.In this case,the 
>>>> state of channel should be CONNECTING?
>>>
>>>
>>> Yes.
>>>  
>>>
>>>> Therefore,the TCP connectio only affects the CONNECTING time, but not 
>>>> the IDLE time.
>>>>
>>>
>>> Not sure I understand this comment/question. But when it is trying to 
>>> establish the TCP connection, yes the status is CONNECTING
>>>  
>>>
>>>>
>>>> 在2023年8月23日星期三 UTC+8 14:23:02<Sanjay Pujare> 写道:
>>>>
>>>>> Most of the time is spent in IDLE -> CONNECTING transition. From this 
>>>>> doc 
>>>>> https://github.com/grpc/grpc/blob/master/doc/connectivity-semantics-and-api.md
>>>>>  
>>>>> which says for CONNECTING
>>>>>
>>>>> CONNECTING: The channel is trying to establish a connection and is 
>>>>> waiting to make progress on one of the steps involved in name resolution, 
>>>>> TCP connection establishment or TLS handshake. This may be used as the 
>>>>> initial state for channels upon creation.
>>>>>
>>>>> DNS resolution and TLS handshake (since you are not calling 
>>>>> usePlaintext() on the builder) are possible culprits. Even TCP connection 
>>>>> establishment is a possibility depending on where the target is. If you 
>>>>> enable trace logging you might be able to figure out.  
>>>>>
>>>>> On Tue, Aug 22, 2023 at 10:08 PM '邹会江' via grpc.io <
>>>>> grp...@googlegroups.com> wrote:
>>>>>
>>>>>> Thank you for your reply!
>>>>>> 1. The first time:
>>>>>> The transition from idle state to connecting takes: 3377 ms,
>>>>>> The transition from idle state to ready takes: 3679 ms
>>>>>> 2. The second time:
>>>>>> The transition from idle state to connecting takes: 1643 ms,
>>>>>> The transition from idle state to ready takes: 1797 ms
>>>>>> 3.The third time:
>>>>>> The transition from idle state to connecting takes: 1019 ms,
>>>>>> The transition from idle state to ready takes: 1049 ms
>>>>>> 4. What is my enviroment?
>>>>>> MacBook Pro (16-inch, 2019) 
>>>>>> 2.6 GHz 6 core Intel Core i7
>>>>>> 16 GB 2667 MHz DDR4
>>>>>>
>>>>>> 在2023年8月23日星期三 UTC+8 04:31:28<Larry Safran> 写道:
>>>>>>
>>>>>>> Another question is whether this is the same the second time you 
>>>>>>> create a channel.  The first time, the JVM may be taking time doing 
>>>>>>> class 
>>>>>>> loading.
>>>>>>>
>>>>>>> On Tue, Aug 22, 2023 at 8:41 AM 'Yuri Golobokov' via grpc.io <
>>>>>>> grp...@googlegroups.com> wrote:
>>>>>>>
>>>>>>>> Hello,
>>>>>>>> What is the round-trip time? How much time does DNS resolution take?
>>>>>>>>
>>>>>>>> On Tuesday, August 22, 2023 at 12:02:21 AM UTC-7 邹会江 wrote:
>>>>>>>>
>>>>>>>>> ### JAVA Code
>>>>>>>>>
>>>>>>>>> ```
>>>>>>>>>             channel = 
>>>>>>>>> ManagedChannelBuilder.forTarget(param.getTarget()).build();
>>>>>>>>>             long channelStart = System.currentTimeMillis();
>>>>>>>>>             asyncStub = ASRRouteGrpc.newStub(channel);
>>>>>>>>>             asrResponseStreamObserver = new 
>>>>>>>>> ASRResponseStreamObserver(speechTranscriberListener);
>>>>>>>>>             requestObserver = 
>>>>>>>>> asyncStub.route(asrResponseStreamObserver);
>>>>>>>>>             RouteRequest requestConf = newRequestHead(param);
>>>>>>>>>             traceId = requestConf.getAsrConfig().getTraceId();
>>>>>>>>>             ConnectivityState currentChannelState = 
>>>>>>>>> channel.getState(true);
>>>>>>>>>             while (currentChannelState != ConnectivityState.READY) 
>>>>>>>>> {
>>>>>>>>>                 CountDownLatch latchUntilChannelReady = new 
>>>>>>>>> CountDownLatch(1);
>>>>>>>>>                 
>>>>>>>>> channel.notifyWhenStateChanged(currentChannelState, 
>>>>>>>>> latchUntilChannelReady::countDown);
>>>>>>>>>                 latchUntilChannelReady.await();
>>>>>>>>>                 currentChannelState = channel.getState(true);
>>>>>>>>>                 if (currentChannelState == 
>>>>>>>>> ConnectivityState.CONNECTING) {
>>>>>>>>>                     long channelConnecting = 
>>>>>>>>> System.currentTimeMillis();
>>>>>>>>>                     LOGGER.info("The transition from idle state to 
>>>>>>>>> connecting takes: {} ms", channelConnecting - channelStart);
>>>>>>>>>                 }
>>>>>>>>>             }
>>>>>>>>>             long channelReady = System.currentTimeMillis();
>>>>>>>>>             if (LOGGER.isInfoEnabled()) {
>>>>>>>>>                 LOGGER.info("Trace id: {}, channel start time: {}, 
>>>>>>>>> channel ready time: {}, creating channel takes: {} ms", traceId, 
>>>>>>>>> channelStart, channelReady,
>>>>>>>>>                         channelReady - channelStart);
>>>>>>>>>             }
>>>>>>>>> ```
>>>>>>>>> ### LOGGER
>>>>>>>>>
>>>>>>>>> ```
>>>>>>>>> 2023-08-22 14:12:34,816 INFO  client.ASRClient - The transition 
>>>>>>>>> from idle state to connecting takes: 1009 ms
>>>>>>>>> 2023-08-22 14:12:34,841 INFO  client.ASRClient - Trace id: 
>>>>>>>>> 6afd2c67-e8c5-4cea-bd5c-4b82591a52aa, channel start time: 
>>>>>>>>> 1692684753807, 
>>>>>>>>> channel ready time: 1692684754841, creating channel takes: 1034 ms
>>>>>>>>> ```
>>>>>>>>> ### Description
>>>>>>>>> #### code logic
>>>>>>>>> 1. first create channel
>>>>>>>>> 2. mark a time stamp(channelStart) after the channel is created
>>>>>>>>> 3. get the state of channel ,the state is IDEL
>>>>>>>>> 4. when the state of channel changes from IDEL to CONNECTING,mark 
>>>>>>>>> a time stamp(channelConnecting)
>>>>>>>>> 5. when the state of channel changes from CONNECTING to READY, 
>>>>>>>>> mark a time stamp(channelReady)
>>>>>>>>>
>>>>>>>>> #### Log info 
>>>>>>>>> 1. It takes 1009ms for channel from IDLE state to CONNECTING state.
>>>>>>>>> 2. It takes 25ms for channel from CONNECTIONG state to READY state.
>>>>>>>>> ### What's i supposed
>>>>>>>>> 1. Does it take too long for a channel to change from IDLE to 
>>>>>>>>> CONNECTING?
>>>>>>>>> 2. I want to reduce the time it takes for a channel to go from 
>>>>>>>>> IDLE to CONNECTING.
>>>>>>>>>
>>>>>>>> -- 
>>>>>>>> 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 grpc-io+u...@googlegroups.com.
>>>>>>>> To view this discussion on the web visit 
>>>>>>>> https://groups.google.com/d/msgid/grpc-io/8f2a15b8-1541-422e-ad66-9a5778e53882n%40googlegroups.com
>>>>>>>>  
>>>>>>>> <https://groups.google.com/d/msgid/grpc-io/8f2a15b8-1541-422e-ad66-9a5778e53882n%40googlegroups.com?utm_medium=email&utm_source=footer>
>>>>>>>> .
>>>>>>>>
>>>>>>> -- 
>>>>>> 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 grpc-io+u...@googlegroups.com.
>>>>>>
>>>>> To view this discussion on the web visit 
>>>>>> https://groups.google.com/d/msgid/grpc-io/8901e7bd-b684-462f-bf88-3607b6b01713n%40googlegroups.com
>>>>>>  
>>>>>> <https://groups.google.com/d/msgid/grpc-io/8901e7bd-b684-462f-bf88-3607b6b01713n%40googlegroups.com?utm_medium=email&utm_source=footer>
>>>>>> .
>>>>>>
>>>>> -- 
>>>> 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 grpc-io+u...@googlegroups.com.
>>>>
>>> To view this discussion on the web visit 
>>>> https://groups.google.com/d/msgid/grpc-io/76f2be33-959a-4bf3-9405-1b1748ba3ec0n%40googlegroups.com
>>>>  
>>>> <https://groups.google.com/d/msgid/grpc-io/76f2be33-959a-4bf3-9405-1b1748ba3ec0n%40googlegroups.com?utm_medium=email&utm_source=footer>
>>>> .
>>>>
>>>

-- 
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 grpc-io+unsubscr...@googlegroups.com.
To view this discussion on the web visit 
https://groups.google.com/d/msgid/grpc-io/421ab865-34bd-4753-99e9-01286cc513dbn%40googlegroups.com.

Reply via email to