Flight recorder remote configurationDaily

Thursday, August 10, 2017

Doing some testing with the flight recorder remote configuration code.

One interesting thing I observed during this testing is that I can no longer overload the macOS client that easily. I did an udpate to more recent code, so I am wondering if some recent code change improved things on the performance front. Here is an example of quick recovery.

I wonder if this has something to do with recent tests I was doing on the frame rate front.

Update: after playing with it for a while, the machine started spinning its fans, and I understood: it's just that now I have air conditioning in this room, so the machine is just dealing with the load much more easily. But I can overload it by putting a bit of "heat" on the GPU side (running Tao3D at the same time).

I don't see any effect of the frame rate on the encoder, it really seems to be ignored. However, the dwGOPLength field (interval between I-frames) has an interesting effect.

Here is what we have with a variation of the GOP length of 100 (default);

Here is what we have with a variation of the GOP length of 1:

Notice how the network bandwidth increases sharply, as well as the typical queue length (although this is much harder to say, because this one seems highly dependent on machine temperature).

Here is with a GOP of 10:

Here is with a GOP of 1000:

Also did some experiments with the dwAvgBitRate, trying to set it to a very low value (8000). There is no reduction in queue length (if anything, it seems to be the opposite), and the frame sizes seems to always peak at 16384. But there is obviously a sharp effect on the bandwidth being used.

No real observable difference between H264 profiles 77 and 66. Profile 83 is not accepted. Hi Profile (100) also does not seem to make much of a difference.

Also not much of a difference switching values for ePresetConfig.

Interesting, also got another one of these instances where after killing Tao3D, the NVIDIA driver seems to be stuck. There are no update to the spice client. It stays like this for a long time, it's a bit unpredictable. After doing kill -9 for the spice streaming agent multiple times, I finally got it back.

Damage control after power outageDaily

Tuesday, August 8, 2017

Lost power for my "computer array", a circuit breaker detected too much current. I guess I had enough computers to be close to the limit here.

In any case, that did as usual a bit of damage.

  1. One of my MacBook pros ran out of battery, and when I rebooted, it probably ran out of battery again during fsck (a few times). The laptop is old, its battery is really bad. In any case, I tried to repair the disk a few times, but I was unable to. So re-installation of macOS on this specific laptop. That was probably overdue anyway, there was a lot of junk on this machine
  2. My DNS started acting up in a very strange way. For some reason, there was no way to resolve a few specific names, e.g. google.com or redhat.com, though others would resolve fine, e.g. google.fr or apple.com. No real logic. I spent a bit of time investigating, added logging for bind, and observed tons of messages like this:
      08-Aug-2017 03:10:57.603 lame-servers: info: error (no valid RRSIG) resolving 'nist.gov/DS/IN': 212.27.40.241#53
    

    08-Aug-2017 03:10:57.637 dnssec: info: validating @0x7251b740: nist.gov DS: verify failed due to bad signature (keyid=21428): RRSIG validity period has not begun 08-Aug-2017 03:10:57.638 dnssec: info: validating @0x7251b740: nist.gov DS: no valid signature found 08-Aug-2017 03:10:57.639 lame-servers: info: error (no valid RRSIG) resolving 'nist.gov/DS/IN': 212.27.40.240#53 08-Aug-2017 03:10:57.669 dnssec: info: validating @0x73448968: net SOA: verify failed due to bad signature (keyid=57899): RRSIG validity period has not begun 08-Aug-2017 03:10:57.669 dnssec: info: validating @0x73448968: net SOA: no valid signature found

    Google (.fr) pointed me to this blog explaining how to disable dnssec. Fixed it, though it's hard to understand why it worked before.

Flight recorder: Dynamic configurationDaily

Monday, August 7, 2017

Began working on a dynamic interface for configuration over shared memory, so that I can dynamically adjust traces while running an application such as the Spice client.

Flight recorder videoDaily

Friday, August 4, 2017

Published the flight recorder presentation video:

InfrastructureDaily

Wednesday, August 2, 2017

Clearly, air conditioning in my room is not enough to cool down the next room enough for Muse to work under load for long periods of time. Move Muse in this room, we'll see if that helps.

I'm not the only one having problems with technology today.

Working alongside the kidsDaily

Tuesday, August 1, 2017

Today, I set up my workshop in the kitchen, along with the kids. We had four laptops for three people. I used a second laptop as an extra monitor, mostly running remote-viewing sessions on it.

Did another pass at the Tao3D presentation for the flight recorder. I'm starting to be happy with it.

Discussed how to address environment variables with the spice server. One of the thing I had missed was the need to restart the libvirt daemon for the environment to propagate. So this is why it was "sometimes" doing what I wanted, sometimes not.

Still, this calls for

Did a small modification to the recorder to ensure that the RECORDER_TRACE and RECORDER_TWEAK macros are identical. That way, you don't need to remember if something is a trace or a tweak.

End of weekDaily

Friday, July 28, 2017

Enjoying my new air conditioning. It is so cool, literally

After restarting Turbo, had the same problem with libspice-server.so.1 pointing to the wrong version I already had on July 5.

f0d0ab5d5cb2997676ad109bd3aed151 libspice-client-glib-2.0.la 31f43082b7153391421b047a494e5db5 libspice-client-glib-2.0.so 31f43082b7153391421b047a494e5db5 libspice-client-glib-2.0.so.8 31f43082b7153391421b047a494e5db5 libspice-client-glib-2.0.so.8.6.0 e6e3645b0c43caabf3ba10090ca819bf libspice-client-gtk-3.0.la d3268e313c8ea5da0c2fcea2c79efcf7 libspice-client-gtk-3.0.so d3268e313c8ea5da0c2fcea2c79efcf7 libspice-client-gtk-3.0.so.5 d3268e313c8ea5da0c2fcea2c79efcf7 libspice-client-gtk-3.0.so.5.0.0 4b514450e09e2df554fdd5fda756777a libspice-controller.la 7a48eeccb248c7a21f24553877f24d18 libspice-controller.so 7a48eeccb248c7a21f24553877f24d18 libspice-controller.so.0 7a48eeccb248c7a21f24553877f24d18 libspice-controller.so.0.0.0 86a48403264c7b91e5b284e2d9e77f58 libspice-server.la ce3e95ec9a8fecd5cd11d76d03833d7a libspice-server.so 453165b9830d75d5fe8c4036139a4b7c libspice-server.so.1 ce3e95ec9a8fecd5cd11d76d03833d7a libspice-server.so.1.12.1 453165b9830d75d5fe8c4036139a4b7c libspice-server.so.1.12.1.orig