I feel like I must be really dense, but it doesn't seem like you are
answering my question.

Again, assume I have good reasons to want to know the cpu usage for every
request. Let's say I want to do isolation or billing or whatever on the
basis of cpu usage.

Is this possible in Go?

-Steve

On Mon, May 11, 2020 at 9:51 PM robert engels <reng...@ix.netcom.com> wrote:

> Also, you may be interested in github.com/robaho/goanalyzer - I feel it
> makes latency analysis much easier.
>
> On May 11, 2020, at 11:46 PM, robert engels <reng...@ix.netcom.com> wrote:
>
> You don’t need to do it this way. see https://rakyll.org/profiler-labels/
>
> You label the work. The work will be recorded with the labels for
> analysis. The labels can be nested. This will allow you to use the
> execution trace to profile wall time, see
> https://talks.golang.org/2015/dynamic-tools.slide#30
>
> The standard pprof/profile will do cpu time profiling.
>
> This is all you really need to do the profiling.
>
> On May 11, 2020, at 10:58 PM, Steve Canfield <stevencanfi...@gmail.com>
> wrote:
>
> Thanks, but what about the "I can't enable profiling for every request"
> bit? Assume it's actually important for me to know the cpu consumption on a
> per request basis.
>
> On Mon, May 11, 2020 at 4:55 PM Robert Engels <reng...@ix.netcom.com>
> wrote:
>
>> Look at pprof labels.
>>
>> On May 11, 2020, at 6:29 PM, Steven Canfield <stevencanfi...@gmail.com>
>> wrote:
>>
>> 
>> Hi,
>>
>> I have an RPC server which has heterogenous requests, e.g. some calls hit
>> cache and are cheaper to serve while others need to compute a result.
>>
>> Is there any way to keep track of the cpu used just by one particular
>> goroutine[1]? It seems like there's not a straightforward way today without
>> adding logic around every single blocking piece (to start/stop a timer),
>> and in the future will become completely impossible with "Non-cooperative
>> goroutine preemption".
>>
>> I would be happy with only knowing this number when a goroutine finishes.
>>
>> I'm familiar with using pprof for measuring the entire process, but it's
>> not clear to me how to go from there to what was used by a particular RPC,
>> and I also can't enable profiling for every request.
>>
>> Thanks,
>> -Steve
>>
>> 1: I really want a goroutine and its children, but I create new
>> goroutines in few enough places that I could do some context mgmt to manage
>> this.
>>
>> --
>> You received this message because you are subscribed to the Google Groups
>> "golang-nuts" group.
>> To unsubscribe from this group and stop receiving emails from it, send an
>> email to golang-nuts+unsubscr...@googlegroups.com.
>> To view this discussion on the web visit
>> https://groups.google.com/d/msgid/golang-nuts/e2d7e3d7-c678-4515-9cdb-060d29b14500%40googlegroups.com
>> <https://groups.google.com/d/msgid/golang-nuts/e2d7e3d7-c678-4515-9cdb-060d29b14500%40googlegroups.com?utm_medium=email&utm_source=footer>
>> .
>>
>>
>
> --
> You received this message because you are subscribed to the Google Groups
> "golang-nuts" group.
> To unsubscribe from this group and stop receiving emails from it, send an
> email to golang-nuts+unsubscr...@googlegroups.com.
> To view this discussion on the web visit
> https://groups.google.com/d/msgid/golang-nuts/A1D870A7-ADFD-4F00-B678-E7C6C0FE80FD%40ix.netcom.com
> <https://groups.google.com/d/msgid/golang-nuts/A1D870A7-ADFD-4F00-B678-E7C6C0FE80FD%40ix.netcom.com?utm_medium=email&utm_source=footer>
> .
>
>
>

-- 
You received this message because you are subscribed to the Google Groups 
"golang-nuts" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to golang-nuts+unsubscr...@googlegroups.com.
To view this discussion on the web visit 
https://groups.google.com/d/msgid/golang-nuts/CANLJsyBF9BezZVYtoFcGCTNYQrTuVVAQoEgBC2CWVRJOxb8P-A%40mail.gmail.com.

Reply via email to