anchor.diff:  // BSD-style license that can be found in the LICENSE file.
   
   part of vmservice_io;
  +
  +final bool silentObservatory =
  +    const bool.fromEnvironment('SILENT_OBSERVATORY');
  +
  +void serverPrint(String s) {
  +  if (silentObservatory) {
  +    // We've been requested to be silent.
  +    return;
  +  }
  +  print(s);
  +}
   
   class WebSocketClient extends Client {
     static const int PARSE_ERROR_CODE = 4000;
  
positive.code:       var message = new Message.fromUri(client, request.uri);
        client.onMessage(null, message);
      } catch (e) {
        print('Unexpected error processing HTTP request uri: '
              '${request.uri}\n$e\n');
        rethrow;
      }
    }
  
negative.code:       }
        _server = await HttpServer.bind(address, _port);
        _server.listen(_requestHandler, cancelOnError: true);
        serverPrint('Observatory listening on $serverAddress');
        // Server is up and running.
        _notifyServerState(serverAddress.toString());
        onServerAddressChange('$serverAddress');
        return this;
      } catch (e, st) {
        serverPrint('Could not start Observatory HTTP server:\n$e\n$st\n');
        _notifyServerState("");
        onServerAddressChange(null);
        return this;
  