container/src/main/java/com/streamsets/datacollector/runner/Pipeline.java
private Record createStartEvent() {
    Preconditions.checkState(startEventStage != null, "Start Event Stage is not set!");
    EventRecord eventRecord = new EventRecordImpl(
      "pipeline-start",
      1,
      startEventStage.getInfo().getInstanceName(),
      "",
      null,
      null
    );

    Map<String, Field> rootField = new LinkedHashMap<>();
    rootField.put("user", Field.create(Field.Type.STRING, userContext.getUser()));
    rootField.put("pipelineId", Field.create(Field.Type.STRING, name));
    rootField.put("pipelineTitle", Field.create(Field.Type.STRING, pipelineConf.getTitle()));

    // Pipeline parameters
    Map<String, Field> parameters = new LinkedHashMap<>();
    if(runtimeParameters != null) {
      for (Map.Entry<String, Object> entry : runtimeParameters.entrySet()) {
        parameters.put(
          entry.getKey(),
          Field.create(Field.Type.STRING, entry.getValue().toString())
        );
      }
    }
    rootField.put("parameters", Field.create(parameters));

    eventRecord.set(Field.create(rootField));
    return eventRecord;
  }
private Record createStartEvent() {
    Preconditions.checkState(startEventStage != null, "Start Event Stage is not set!");
    EventRecord eventRecord = new EventRecordImpl(
      "pipeline-start",
      1,
      startEventStage.getInfo().getInstanceName(),
      "",
      null,
      null
    );

    Map<String, Field> rootField = new LinkedHashMap<>();
    rootField.put("user", Field.create(Field.Type.STRING, userContext.getUser()));
    rootField.put("pipelineId", Field.create(Field.Type.STRING, name));
    rootField.put("pipelineTitle", Field.create(Field.Type.STRING, pipelineConf.getTitle()));

    // Pipeline parameters
    Map<String, Field> parameters = new LinkedHashMap<>();
    if(runtimeParameters != null) {
      for (Map.Entry<String, Object> entry : runtimeParameters.entrySet()) {
        parameters.put(
          entry.getKey(),
          Field.create(Field.Type.STRING, entry.getValue().toString())
        );
      }
    }
    rootField.put("parameters", Field.create(parameters));

    eventRecord.set(Field.create(rootField));
    return eventRecord;
  }
Create pipeline start event.