diff --git a/.run/all.run.xml b/.run/all.run.xml
index e5f581bf..14ac4f9c 100644
--- a/.run/all.run.xml
+++ b/.run/all.run.xml
@@ -1,30 +1,30 @@
+ ~ SPDX-License-Identifier: Apache-2.0
+ ~
+ ~ Copyright The Prometheus 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.
+ -->
-
-
-
-
-
-
-
-
-
-
-
+
+
+
+
+
+
+
+
+
+
+
diff --git a/README.md b/README.md
index 650b64d1..069cc5f4 100644
--- a/README.md
+++ b/README.md
@@ -159,7 +159,7 @@ msiexec /i --% ADDLOCAL=FirewallException APPLICATIONFOLDER="
On some older versions of Windows,
you may need to surround parameter values with double quotes to get the installation command parsing properly:
```powershell
-msiexec /i C:\Users\Administrator\Downloads\windows_exporter.msi --% ENABLED_COLLECTORS="ad,iis,memory,process,tcp,textfile,thermalzone" TEXTFILE_DIRS="C:\custom_metrics\"
+msiexec /i C:\Users\Administrator\Downloads\windows_exporter.msi --% ENABLED_COLLECTORS="ad,iis,memory,process,tcp,textfile" TEXTFILE_DIRS="C:\custom_metrics\"
```
To install the exporter with creating a firewall exception, use the following command:
diff --git a/internal/collector/thermalzone/thermalzone.go b/internal/collector/thermalzone/thermalzone.go
deleted file mode 100644
index 7ce2a14b..00000000
--- a/internal/collector/thermalzone/thermalzone.go
+++ /dev/null
@@ -1,150 +0,0 @@
-// SPDX-License-Identifier: Apache-2.0
-//
-// Copyright The Prometheus 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.
-
-//go:build windows
-
-package thermalzone
-
-import (
- "fmt"
- "log/slog"
- "time"
-
- "github.com/alecthomas/kingpin/v2"
- "github.com/prometheus-community/windows_exporter/internal/mi"
- "github.com/prometheus-community/windows_exporter/internal/pdh"
- "github.com/prometheus-community/windows_exporter/internal/types"
- "github.com/prometheus/client_golang/prometheus"
-)
-
-const Name = "thermalzone"
-
-type Config struct{}
-
-//nolint:gochecknoglobals
-var ConfigDefaults = Config{}
-
-// A Collector is a Prometheus Collector for WMI Win32_PerfRawData_Counters_ThermalZoneInformation metrics.
-type Collector struct {
- config Config
-
- perfDataCollector *pdh.Collector[perfDataCounterValues]
- perfDataObject []perfDataCounterValues
-
- percentPassiveLimit *prometheus.Desc
- temperature *prometheus.Desc
- throttleReasons *prometheus.Desc
-}
-
-func New(config *Config) *Collector {
- if config == nil {
- config = &ConfigDefaults
- }
-
- c := &Collector{
- config: *config,
- }
-
- return c
-}
-
-func NewWithFlags(_ *kingpin.Application) *Collector {
- return &Collector{}
-}
-
-func (c *Collector) GetName() string {
- return Name
-}
-
-func (c *Collector) Close() error {
- c.perfDataCollector.Close()
-
- return nil
-}
-
-func (c *Collector) Build(logger *slog.Logger, _ *mi.Session) error {
- logger.Warn("The thermalzone collector is deprecated and will be removed in a future release. Please use the 'performancecounter' collector instead.",
- slog.String("collector", c.GetName()),
- )
-
- c.temperature = prometheus.NewDesc(
- prometheus.BuildFQName(types.Namespace, Name, "temperature_celsius"),
- "(Temperature)",
- []string{
- "name",
- },
- nil,
- )
- c.percentPassiveLimit = prometheus.NewDesc(
- prometheus.BuildFQName(types.Namespace, Name, "percent_passive_limit"),
- "(PercentPassiveLimit)",
- []string{
- "name",
- },
- nil,
- )
- c.throttleReasons = prometheus.NewDesc(
- prometheus.BuildFQName(types.Namespace, Name, "throttle_reasons"),
- "(ThrottleReasons)",
- []string{
- "name",
- },
- nil,
- )
-
- var err error
-
- c.perfDataCollector, err = pdh.NewCollector[perfDataCounterValues](logger.With(slog.String("collector", Name)), pdh.CounterTypeRaw, "Thermal Zone Information", pdh.InstancesAll)
- if err != nil {
- return fmt.Errorf("failed to create Thermal Zone Information collector: %w", err)
- }
-
- return nil
-}
-
-// Collect sends the metric values for each metric
-// to the provided prometheus Metric channel.
-func (c *Collector) Collect(ch chan<- prometheus.Metric, _ time.Duration) error {
- err := c.perfDataCollector.Collect(&c.perfDataObject)
- if err != nil {
- return fmt.Errorf("failed to collect Thermal Zone Information metrics: %w", err)
- }
-
- for _, data := range c.perfDataObject {
- // Divide by 10 and subtract 273.15 to convert decikelvin to celsius
- ch <- prometheus.MustNewConstMetric(
- c.temperature,
- prometheus.GaugeValue,
- (data.HighPrecisionTemperature/10.0)-273.15,
- data.Name,
- )
-
- ch <- prometheus.MustNewConstMetric(
- c.percentPassiveLimit,
- prometheus.GaugeValue,
- data.PercentPassiveLimit,
- data.Name,
- )
-
- ch <- prometheus.MustNewConstMetric(
- c.throttleReasons,
- prometheus.GaugeValue,
- data.ThrottleReasons,
- data.Name,
- )
- }
-
- return nil
-}
diff --git a/internal/collector/thermalzone/thermalzone_test.go b/internal/collector/thermalzone/thermalzone_test.go
deleted file mode 100644
index bd1efcce..00000000
--- a/internal/collector/thermalzone/thermalzone_test.go
+++ /dev/null
@@ -1,33 +0,0 @@
-// SPDX-License-Identifier: Apache-2.0
-//
-// Copyright The Prometheus 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.
-
-//go:build windows
-
-package thermalzone_test
-
-import (
- "testing"
-
- "github.com/prometheus-community/windows_exporter/internal/collector/thermalzone"
- "github.com/prometheus-community/windows_exporter/internal/utils/testutils"
-)
-
-func BenchmarkCollector(b *testing.B) {
- testutils.FuncBenchmarkCollector(b, thermalzone.Name, thermalzone.NewWithFlags)
-}
-
-func TestCollector(t *testing.T) {
- testutils.TestCollector(t, thermalzone.New, nil)
-}
diff --git a/internal/collector/thermalzone/types.go b/internal/collector/thermalzone/types.go
deleted file mode 100644
index 27a3557c..00000000
--- a/internal/collector/thermalzone/types.go
+++ /dev/null
@@ -1,26 +0,0 @@
-// SPDX-License-Identifier: Apache-2.0
-//
-// Copyright The Prometheus 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.
-
-//go:build windows
-
-package thermalzone
-
-type perfDataCounterValues struct {
- Name string
-
- HighPrecisionTemperature float64 `perfdata:"High Precision Temperature"`
- PercentPassiveLimit float64 `perfdata:"% Passive Limit"`
- ThrottleReasons float64 `perfdata:"Throttle Reasons"`
-}
diff --git a/pkg/collector/collection.go b/pkg/collector/collection.go
index a1ce09df..33663725 100644
--- a/pkg/collector/collection.go
+++ b/pkg/collector/collection.go
@@ -73,7 +73,6 @@ import (
"github.com/prometheus-community/windows_exporter/internal/collector/tcp"
"github.com/prometheus-community/windows_exporter/internal/collector/terminal_services"
"github.com/prometheus-community/windows_exporter/internal/collector/textfile"
- "github.com/prometheus-community/windows_exporter/internal/collector/thermalzone"
"github.com/prometheus-community/windows_exporter/internal/collector/time"
"github.com/prometheus-community/windows_exporter/internal/collector/udp"
"github.com/prometheus-community/windows_exporter/internal/collector/update"
@@ -147,7 +146,6 @@ func NewWithConfig(config Config) *Collection {
collectors[tcp.Name] = tcp.New(&config.TCP)
collectors[terminal_services.Name] = terminal_services.New(&config.TerminalServices)
collectors[textfile.Name] = textfile.New(&config.Textfile)
- collectors[thermalzone.Name] = thermalzone.New(&config.ThermalZone)
collectors[time.Name] = time.New(&config.Time)
collectors[udp.Name] = udp.New(&config.UDP)
collectors[update.Name] = update.New(&config.Update)
diff --git a/pkg/collector/config.go b/pkg/collector/config.go
index be1f790d..a70927fe 100644
--- a/pkg/collector/config.go
+++ b/pkg/collector/config.go
@@ -63,7 +63,6 @@ import (
"github.com/prometheus-community/windows_exporter/internal/collector/tcp"
"github.com/prometheus-community/windows_exporter/internal/collector/terminal_services"
"github.com/prometheus-community/windows_exporter/internal/collector/textfile"
- "github.com/prometheus-community/windows_exporter/internal/collector/thermalzone"
"github.com/prometheus-community/windows_exporter/internal/collector/time"
"github.com/prometheus-community/windows_exporter/internal/collector/udp"
"github.com/prometheus-community/windows_exporter/internal/collector/update"
@@ -117,7 +116,6 @@ type Config struct {
TCP tcp.Config `yaml:"tcp"`
TerminalServices terminal_services.Config `yaml:"terminal_services"`
Textfile textfile.Config `yaml:"textfile"`
- ThermalZone thermalzone.Config `yaml:"thermalzone"`
Time time.Config `yaml:"time"`
UDP udp.Config `yaml:"udp"`
Update update.Config `yaml:"update"`
@@ -175,7 +173,6 @@ var ConfigDefaults = Config{
TCP: tcp.ConfigDefaults,
TerminalServices: terminal_services.ConfigDefaults,
Textfile: textfile.ConfigDefaults,
- ThermalZone: thermalzone.ConfigDefaults,
Time: time.ConfigDefaults,
UDP: udp.ConfigDefaults,
Update: update.ConfigDefaults,
diff --git a/pkg/collector/map.go b/pkg/collector/map.go
index c79965fc..d08781da 100644
--- a/pkg/collector/map.go
+++ b/pkg/collector/map.go
@@ -67,7 +67,6 @@ import (
"github.com/prometheus-community/windows_exporter/internal/collector/tcp"
"github.com/prometheus-community/windows_exporter/internal/collector/terminal_services"
"github.com/prometheus-community/windows_exporter/internal/collector/textfile"
- "github.com/prometheus-community/windows_exporter/internal/collector/thermalzone"
"github.com/prometheus-community/windows_exporter/internal/collector/time"
"github.com/prometheus-community/windows_exporter/internal/collector/udp"
"github.com/prometheus-community/windows_exporter/internal/collector/update"
@@ -128,7 +127,6 @@ var BuildersWithFlags = map[string]BuilderWithFlags[Collector]{
tcp.Name: NewBuilderWithFlags(tcp.NewWithFlags),
terminal_services.Name: NewBuilderWithFlags(terminal_services.NewWithFlags),
textfile.Name: NewBuilderWithFlags(textfile.NewWithFlags),
- thermalzone.Name: NewBuilderWithFlags(thermalzone.NewWithFlags),
time.Name: NewBuilderWithFlags(time.NewWithFlags),
udp.Name: NewBuilderWithFlags(udp.NewWithFlags),
update.Name: NewBuilderWithFlags(update.NewWithFlags),