private void resolveMetricOption() {
            if (metricOption != null) {
                LOG.info("metric option is not null, no need to init it");
                return;
            }

            if (StringUtils.isNullOrWhitespaceOnly(inlongAuditAddress)) {
                inlongAuditAddress = writeOptions.get(INLONG_AUDIT.key());
            }
            if (StringUtils.isNullOrWhitespaceOnly(inlongAuditKeys)) {
                inlongAuditKeys = writeOptions.get(AUDIT_KEYS.key());
            }
            if (StringUtils.isNullOrWhitespaceOnly(inlongMetrics)) {
                inlongMetrics = writeOptions.get(INLONG_METRIC.key());
            }
            LOG.info("start to init metric option with audit={}, keys={}, metric={}",
                    inlongAuditAddress, inlongAuditKeys, inlongMetrics);
            this.metricOption = MetricOption.builder()
                    .withInlongLabels(inlongMetrics)
                    .withAuditAddress(inlongAuditAddress)
                    .withAuditKeys(inlongAuditKeys)
                    .withRegisterMetric(MetricOption.RegisteredMetric.ALL)
                    .build();
        }
Append the iceberg sink operators to write records to iceberg table.

@return {@link DataStreamSink} for sink.
inlong-sort/sort-flink/sort-flink-v1.15/sort-connectors/iceberg/src/main/java/org/apache/inlong/sort/iceberg/sink/FlinkSink.java