public EBPFNetworkKeepProfilingResult keepEBPFNetworkProfiling(String taskId) throws IOException {
        final List<EBPFProfilingTaskRecord> tasks = getProcessProfilingTaskDAO().getTaskRecord(taskId);
        // task not exists
        if (CollectionUtils.isEmpty(tasks)) {
            return buildKeepProfilingError("profiling task not exists");
        }
        // combine all tasks
        final EBPFProfilingTaskRecord task = tasks.get(0);
        for (int i = 1; i < tasks.size(); i++) {
            task.combine(tasks.get(i));
        }
        // target type not "NETWORK"
        if (!Objects.equals(task.getTargetType(), EBPFProfilingTargetType.NETWORK.value())) {
            return buildKeepProfilingError("current task is not a \"NETWORK\" task");
        }
        // task already finished
        final Calendar taskTime = Calendar.getInstance();
        taskTime.setTimeInMillis(task.getStartTime());
        taskTime.add(Calendar.SECOND, (int) task.getFixedTriggerDuration());
        final Calendar now = Calendar.getInstance();
        final long sec = TimeUnit.MILLISECONDS.toSeconds(taskTime.getTimeInMillis() - now.getTimeInMillis());
        if (sec < 0) {
            return buildKeepProfilingError("profiling task has been finished");
        } else if (sec > NETWORK_KEEP_ALIVE_THRESHOLD) {
            // if not archive the threshold, then ignore
            return buildKeepProfilingSuccess();
        }

        // copy the task and extend the task time
        final EBPFProfilingTaskRecord record = new EBPFProfilingTaskRecord();
        record.setLogicalId(task.getLogicalId());
        record.setServiceId(task.getServiceId());
        record.setProcessLabelsJson(Const.EMPTY_STRING);
        record.setInstanceId(task.getInstanceId());
        record.setStartTime(task.getStartTime());
        record.setTriggerType(task.getTriggerType());
        record.setFixedTriggerDuration(task.getFixedTriggerDuration() + NETWORK_PROFILING_DURATION);
        record.setTargetType(EBPFProfilingTargetType.NETWORK.value());
        record.setCreateTime(now.getTimeInMillis());
        record.setLastUpdateTime(now.getTimeInMillis());
        record.setExtensionConfigJson(Const.EMPTY_STRING);
        NoneStreamProcessor.getInstance().in(record);
        return buildKeepProfilingSuccess();
    }
Create eBPF Profiling task with {@link EBPFProfilingTriggerType#FIXED_TIME}
oap-server/server-core/src/main/java/org/apache/skywalking/oap/server/core/profiling/ebpf/EBPFProfilingMutationService.java