private void consumeProfilerMessages()

in universal-profiling-integration/src/main/java/co/elastic/otel/UniversalProfilingProcessor.java [270:294]


  private void consumeProfilerMessages() {
    StringBuilder tempBuffer = new StringBuilder();
    try {
      while (true) {
        try {
          ProfilerMessage message =
              UniversalProfilingCorrelation.readProfilerReturnChannelMessage();
          if (message == null) {
            break;
          } else if (message instanceof TraceCorrelationMessage) {
            handleMessage((TraceCorrelationMessage) message, tempBuffer);
          } else if (message instanceof ProfilerRegistrationMessage) {
            handleMessage((ProfilerRegistrationMessage) message);
          } else {
            log.log(Level.FINE, "Received unknown message type from profiler: {0}", message);
          }
        } catch (DecodeException e) {
          log.log(Level.WARNING, "Failed to read profiler message", e);
          // intentionally no break here, subsequent messages might be decodeable
        }
      }
    } catch (Exception e) {
      log.log(Level.SEVERE, "Cannot read from profiler socket", e);
    }
  }