// Copyright 2025 iLogtail Authors
//
// Licensed under the Apache License, Version 2.0 (the "License");
// you may not use this file except in compliance with the License.
// You may obtain a copy of the License at
//
//     http://www.apache.org/licenses/LICENSE-2.0
//
// Unless required by applicable law or agreed to in writing, software
// distributed under the License is distributed on an "AS IS" BASIS,
// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
// See the License for the specific language governing permissions and
// limitations under the License.

#pragma once

#include "ebpf/type/table/BaseElements.h"
#include "ebpf/type/table/DataTable.h"

namespace logtail::ebpf {

inline constexpr DataElement kNetMetricsElements[] = {
    kHostName, // host
    kAppId, // pid
    kIp, // server ip
    kAppName, // service
    kWorkspace, // workspace
    kArmsServiceId, // serviceId

    kNamespace,
    kPodName,
    kWorkloadKind,
    kWorkloadName,

    kPeerNamespace,
    kPeerPodName,
    kPeerWorkloadKind,
    kPeerWorkloadName,
};

inline constexpr size_t kNetMetricsNum = std::size(kNetMetricsElements);

inline constexpr auto kNetMetricsTable = DataTableSchema("net_metrics", "net metrics table", kNetMetricsElements);

} // namespace logtail::ebpf
