sustainable-computing-io / kepler

Kepler (Kubernetes-based Efficient Power Level Exporter) uses eBPF to probe performance counters and other system stats, use ML models to estimate workload energy consumption based on these stats, and exports them as Prometheus metrics
https://sustainable-computing.io
Apache License 2.0
1.09k stars 174 forks source link

Enable process metrics in CI #1177

Open jichenjc opened 7 months ago

jichenjc commented 7 months ago

What happened?

https://github.com/sustainable-computing-io/kepler/issues/1153 caused some issue , we should enable this in the CI in order to make sure it's not break

What did you expect to happen?

enable the CI with ENABLE_PROCESS and ENABLE_VM

How can we reproduce it (as minimally and precisely as possible)?

check https://github.com/sustainable-computing-io/kepler/issues/1153

Anything else we need to know?

No response

Kepler image tag

Kubernetes version

```console $ kubectl version # paste output here ```

Cloud provider or bare metal

OS version

```console # On Linux: $ cat /etc/os-release # paste output here $ uname -a # paste output here # On Windows: C:\> wmic os get Caption, Version, BuildNumber, OSArchitecture # paste output here ```

Install tools

Kepler deployment config

For on kubernetes: ```console $ KEPLER_NAMESPACE=kepler # provide kepler configmap $ kubectl get configmap kepler-cfm -n ${KEPLER_NAMESPACE} # paste output here # provide kepler deployment description $ kubectl describe deployment kepler-exporter -n ${KEPLER_NAMESPACE} ``` For standalone: # put your Kepler command argument here

Container runtime (CRI) and version (if applicable)

Related plugins (CNI, CSI, ...) and versions (if applicable)

jichenjc commented 7 months ago

@rootfs @SamYuan1990

seems current CI didn't enable this , is it reasonable to enbale those e.g VM, PROCESS etc and check them in the CI as well (whether the metrics reported) ? I think it won't lead to too much overhead but guarantee we don't have regression with certain PR

build_manifest() {
        $NO_BUILDS && {
                ok "Skipping building manifests"
                return 0
        }
        header "Build Kepler Manifest"
        run make build-manifest \
                OPTS="$OPTS" \
                IMAGE_REPO="$IMAGE_REPO" \
                IMAGE_TAG="$IMAGE_TAG"
}
SamYuan1990 commented 7 months ago

which means we need to https://github.com/sustainable-computing-io/kepler/blob/26f6f4925fa34bce1a5851fdb7013912efa872f8/manifests/config/exporter/exporter.yaml#L28 make it overwrite by CI?

rootfs commented 7 months ago

@SamYuan1990 yes thats the config to enable it

jichenjc commented 7 months ago

yes, and I think we need add more verification item such as kepler_process_xxx etc I will submit a PR for this soon if you agree it's the right thing to do

SamYuan1990 commented 7 months ago

where is ENABLE_VM?

stale[bot] commented 5 months ago

This issue has been automatically marked as stale because it has not had recent activity. It will be closed if no further activity occurs. Thank you for your contributions.

SamYuan1990 commented 5 months ago

where is ENABLE_VM?

@jichenjc / @rootfs , any idea for ENABLE_VM configuration?