I would show you the code, but I don't know which part to show. I'm extracting the blip text and parsing it with a generated parser, looking for particular tokens. I am very new at using parsers (a different version of this robot uses regular expressions to do essentially the same thing) and it may be that using this particular one is just too processor-intensive (I didn't write the parser; it's generated from a grammar).
I'm not doing any range or annotation stuff with this robot right now, though, so that's probably not an issue. However, since the thing that changed was using a parser to parse the blip text, as opposed to a set of regex's, it's probably the parser. On the other hand, I am still curious what prompts the "beanSerializer" entries to show in the logs sometimes, and other times not. Perhaps it's an indicator that for some reason the serialization is taking too long. Thanks for the advice! -Chris On Nov 19, 3:54 pm, Olreich <[email protected]> wrote: > Look at the Docks, they'll tell you the different functions associated > with each of those classes, but pretty much anything you do that > modifies waves, blips, annotations, or ranges will have those classes > called. It would help to see the code. I personally have never seen > that high of a CPU time, but I haven't created a test suite or > anything, so I haven't used all of the functions. It could also be in > your code, anytime that you are running loops, the potential exists > for you to get high CPU, especially if you are playing with > Annotations or a Range in that loop (as I believe those are the most > intensive operations currently available in the API). > > On Nov 19, 3:11 pm, "Chris C." <[email protected]> wrote: > > > > > I have a robot I'm experimenting with, and I am frequently - though > > not quite always - seeing in the logs report of very high CPU use > > during a request, along with the following log messages: > > > com.metaparadigm.jsonrpc.BeanSerializer analyzeBean: analyzing > > com.google.wave.api.impl.WaveletData > > com.metaparadigm.jsonrpc.BeanSerializer analyzeBean: analyzing > > com.google.wave.api.impl.BlipData > > com.metaparadigm.jsonrpc.BeanSerializer analyzeBean: analyzing > > com.google.wave.api.Annotation > > com.metaparadigm.jsonrpc.BeanSerializer analyzeBean: analyzing > > com.google.wave.api.Range > > > Those messages are always present when CPU time is high (for instance, > > in the neighborhood of 2000 - 3000 cpu_ms), and I've never seen them > > in the logs of a request with low CPU use. The robot continues to > > work, but obviously I don't want to be slamming the CPU all the time. > > > As mentioned, it's an in-development robot so obviously my code may be > > to blame here. Can anyone let me know what prompts those particular > > events to happen? Knowing that could help me find mistakes/badthings > > in my code, and reduce the CPU load. > > > Thanks, > > Chris -- You received this message because you are subscribed to the Google Groups "Google Wave API" group. To post to this group, send email to [email protected]. To unsubscribe from this group, send email to [email protected]. For more options, visit this group at http://groups.google.com/group/google-wave-api?hl=.
