Repository: open-telemetry/opentelemetry-java
File: api/src/main/java/io/opentelemetry/trace/Span.java (Java)

Code before:
   * @param status the {@link Status} to set.
   * @since 0.1.0
   */
  void setStatus(Status status);

  /**
   * Updates the {@code Span} name.
   *
   * <p>If used, this will override the name provided via {@code Span.Builder}.
   *
   * <p>Upon this update, any sampling behavior based on {@code Span} name will depend on the
   * implementation.
   *
   * @param name the {@code Span} name.
   * @since 0.1
   */
  void updateName(String name);

  /**
   * Marks the end of {@code Span} execution.
   *
   * <p>Only the timing of the first end call for a given {@code Span} will be recorded, and
   * implementations are free to ignore all further calls.
   *
   * @since 0.1.0
   */
  void end();

  /**
   * Marks the end of {@code Span} execution with the specified {@link EndSpanOptions}.
   *
   * <p>Only the timing of the first end call for a given {@code Span} will be recorded, and
   * implementations are free to ignore all further calls.
   *
   * <p>Use this method for specifying explicit end options, such as end {@code Timestamp}. When no
   * explicit values are required, use {@link #end()}.
   *
   * @param endOptions the explicit {@link EndSpanOptions} for this {@code Span}.
   * @since 0.1.0
   */
  void end(EndSpanOptions endOptions);

  /**
   * Returns the {@code SpanContext} associated with this {@code Span}.
   *
   * @return the {@code SpanContext} associated with this {@code Span}.
   * @since 0.1.0
   */
  SpanContext getContext();

  /**

Review comment (suggestion):
```suggestion
   * <p>Use this method to specify an explicit event timestamp. If not called, the implementation
```

Code after:
   *
   * <p>Use this method to specify an explicit event timestamp. If not called, the implementation
   * will use the current timestamp value, which should be the default case.
   *
   * <p>Important: this is NOT equivalent with System.nanoTime().
   *
   * @param name the name of the event.
   * @param attributes the attributes that will be added; these are associated with this event, not
   *     the {@code Span} as for {@code setAttribute()}.
   * @param timestamp the explicit event timestamp in nanos since epoch.
   * @since 0.1.0
   */
  void addEvent(String name, Map<String, AttributeValue> attributes, long timestamp);

  /**
   * Adds an event to the {@code Span}.
   *
   * @param event the event to add.
   * @since 0.1.0
   */
  void addEvent(Event event);

  /**
   * Adds an event to the {@code Span}.
   *
   * <p>Use this method to specify an explicit event timestamp. If not alled, the implementation
   * will use the current timestamp value, which should be the default case.
   *
   * <p>Important: this is NOT equivalent with System.nanoTime().
   *
   * @param event the event to add.
   * @param timestamp the explicit event timestamp in nanos since epoch.
   * @since 0.1.0
   */
  void addEvent(Event event, long timestamp);

  /**
   * Sets the {@link Status} to the {@code Span}.
   *
   * <p>If used, this will override the default {@code Span} status. Default is {@link Status#OK}.
   *
   * <p>Only the value of the last call will be recorded, and implementations are free to ignore
   * previous calls.
   *
   * @param status the {@link Status} to set.
   * @since 0.1.0
   */
  void setStatus(Status status);

  /**
   * Updates the {@code Span} name.