From 8c814132b8908a466cec67c6f08798fabb44067e Mon Sep 17 00:00:00 2001 From: Eng Zer Jun Date: Wed, 11 May 2022 22:27:22 +0800 Subject: [PATCH] refactor: replace strings.Replace with strings.ReplaceAll strings.ReplaceAll(s, old, new) is a wrapper function for strings.Replace(s, old, new, -1). But strings.ReplaceAll is more readable and removes the hardcoded -1. Signed-off-by: Eng Zer Jun --- plugins/inputs/aerospike/aerospike.go | 8 ++++---- plugins/inputs/aliyuncms/aliyuncms.go | 4 ++-- plugins/inputs/amd_rocm_smi/amd_rocm_smi.go | 2 +- plugins/inputs/apache/apache.go | 2 +- plugins/inputs/burrow/burrow_test.go | 2 +- plugins/inputs/ceph/ceph.go | 4 ++-- plugins/inputs/chrony/chrony.go | 2 +- .../cisco_telemetry_mdt/cisco_telemetry_mdt.go | 10 +++++----- plugins/inputs/cloudwatch/cloudwatch.go | 6 +++--- plugins/inputs/dcos/dcos.go | 2 +- plugins/inputs/disk/disk.go | 2 +- plugins/inputs/docker/docker.go | 2 +- .../elasticsearch_query/aggregation_query.go | 4 ++-- .../elasticsearch_query_test.go | 4 ++-- plugins/inputs/gnmi/gnmi.go | 4 ++-- plugins/inputs/intel_rdt/intel_rdt.go | 2 +- plugins/inputs/ipmi_sensor/ipmi_sensor.go | 2 +- plugins/inputs/jolokia2/common/point_builder.go | 4 ++-- .../jti_openconfig_telemetry.go | 2 +- plugins/inputs/mysql/mysql.go | 6 +++--- plugins/inputs/nsd/nsd.go | 2 +- plugins/inputs/openldap/openldap.go | 12 ++++++------ plugins/inputs/opensmtpd/opensmtpd.go | 2 +- plugins/inputs/phpfpm/phpfpm.go | 2 +- plugins/inputs/redis_sentinel/redis_sentinel.go | 2 +- plugins/inputs/sensors/sensors.go | 2 +- plugins/inputs/smart/smart.go | 6 +++--- plugins/inputs/statsd/statsd.go | 4 ++-- plugins/inputs/unbound/unbound.go | 2 +- plugins/outputs/amon/amon.go | 4 ++-- plugins/outputs/cratedb/cratedb.go | 2 +- plugins/outputs/datadog/datadog.go | 4 ++-- plugins/outputs/sql/sql.go | 14 +++++++------- plugins/outputs/warp10/warp10.go | 2 +- plugins/parsers/grok/parser.go | 4 ++-- plugins/processors/strings/strings.go | 2 +- plugins/serializers/carbon2/carbon2.go | 16 ++++++++-------- plugins/serializers/graphite/graphite.go | 4 ++-- 38 files changed, 80 insertions(+), 80 deletions(-) diff --git a/plugins/inputs/aerospike/aerospike.go b/plugins/inputs/aerospike/aerospike.go index b8abcbcd177c6..50c1f2306beab 100644 --- a/plugins/inputs/aerospike/aerospike.go +++ b/plugins/inputs/aerospike/aerospike.go @@ -201,7 +201,7 @@ func (a *Aerospike) parseNodeInfo(acc telegraf.Accumulator, stats map[string]str if len(parts) < 2 { continue } - key := strings.Replace(parts[0], "-", "_", -1) + key := strings.ReplaceAll(parts[0], "-", "_") nFields[key] = parseAerospikeValue(key, parts[1]) } acc.AddFields("aerospike_node", nFields, nTags, time.Now()) @@ -244,7 +244,7 @@ func (a *Aerospike) parseNamespaceInfo(acc telegraf.Accumulator, stats map[strin if len(parts) < 2 { continue } - key := strings.Replace(parts[0], "-", "_", -1) + key := strings.ReplaceAll(parts[0], "-", "_") nFields[key] = parseAerospikeValue(key, parts[1]) } acc.AddFields("aerospike_namespace", nFields, nTags, time.Now()) @@ -311,7 +311,7 @@ func (a *Aerospike) parseSetInfo(acc telegraf.Accumulator, stats map[string]stri continue } - key := strings.Replace(pieces[0], "-", "_", -1) + key := strings.ReplaceAll(pieces[0], "-", "_") nFields[key] = parseAerospikeValue(key, pieces[1]) } acc.AddFields("aerospike_set", nFields, nTags, time.Now()) @@ -403,7 +403,7 @@ func (a *Aerospike) parseHistogram(acc telegraf.Accumulator, stats map[string]st } } - acc.AddFields(fmt.Sprintf("aerospike_histogram_%v", strings.Replace(histogramType, "-", "_", -1)), nFields, nTags, time.Now()) + acc.AddFields(fmt.Sprintf("aerospike_histogram_%v", strings.ReplaceAll(histogramType, "-", "_")), nFields, nTags, time.Now()) } func splitNamespaceSet(namespaceSet string) (namespace string, set string) { diff --git a/plugins/inputs/aliyuncms/aliyuncms.go b/plugins/inputs/aliyuncms/aliyuncms.go index 20cde2157d20b..9dfd8dd3284a5 100644 --- a/plugins/inputs/aliyuncms/aliyuncms.go +++ b/plugins/inputs/aliyuncms/aliyuncms.go @@ -473,14 +473,14 @@ func formatField(metricName string, statistic string) string { } func formatMeasurement(project string) string { - project = strings.Replace(project, "/", "_", -1) + project = strings.ReplaceAll(project, "/", "_") project = snakeCase(project) return fmt.Sprintf("aliyuncms_%s", project) } func snakeCase(s string) string { s = internal.SnakeCase(s) - s = strings.Replace(s, "__", "_", -1) + s = strings.ReplaceAll(s, "__", "_") return s } diff --git a/plugins/inputs/amd_rocm_smi/amd_rocm_smi.go b/plugins/inputs/amd_rocm_smi/amd_rocm_smi.go index 41647539a93bf..f613a7017ac83 100644 --- a/plugins/inputs/amd_rocm_smi/amd_rocm_smi.go +++ b/plugins/inputs/amd_rocm_smi/amd_rocm_smi.go @@ -141,7 +141,7 @@ func genTagsFields(gpus map[string]GPU, system map[string]sysInfo) []metric { setTagIfUsed(tags, "gpu_id", payload.GpuID) setTagIfUsed(tags, "gpu_unique_id", payload.GpuUniqueID) - setIfUsed("int", fields, "driver_version", strings.Replace(system["system"].DriverVersion, ".", "", -1)) + setIfUsed("int", fields, "driver_version", strings.ReplaceAll(system["system"].DriverVersion, ".", "")) setIfUsed("int", fields, "fan_speed", payload.GpuFanSpeedPercentage) setIfUsed("int64", fields, "memory_total", payload.GpuVRAMTotalMemory) setIfUsed("int64", fields, "memory_used", payload.GpuVRAMTotalUsedMemory) diff --git a/plugins/inputs/apache/apache.go b/plugins/inputs/apache/apache.go index 7eaf059974615..d03d22c324b43 100644 --- a/plugins/inputs/apache/apache.go +++ b/plugins/inputs/apache/apache.go @@ -107,7 +107,7 @@ func (n *Apache) gatherURL(addr *url.URL, acc telegraf.Accumulator) error { line := sc.Text() if strings.Contains(line, ":") { parts := strings.SplitN(line, ":", 2) - key, part := strings.Replace(parts[0], " ", "", -1), strings.TrimSpace(parts[1]) + key, part := strings.ReplaceAll(parts[0], " ", ""), strings.TrimSpace(parts[1]) switch key { case "Scoreboard": diff --git a/plugins/inputs/burrow/burrow_test.go b/plugins/inputs/burrow/burrow_test.go index db58df6fc94e8..2bf9c75fb0a1e 100644 --- a/plugins/inputs/burrow/burrow_test.go +++ b/plugins/inputs/burrow/burrow_test.go @@ -16,7 +16,7 @@ import ( // remap uri to json file, eg: /v3/kafka -> ./testdata/v3_kafka.json func getResponseJSON(requestURI string) ([]byte, int) { uri := strings.TrimLeft(requestURI, "/") - mappedFile := strings.Replace(uri, "/", "_", -1) + mappedFile := strings.ReplaceAll(uri, "/", "_") jsonFile := fmt.Sprintf("./testdata/%s.json", mappedFile) code := 200 diff --git a/plugins/inputs/ceph/ceph.go b/plugins/inputs/ceph/ceph.go index 6569b133fe56c..99440bdf9ae15 100644 --- a/plugins/inputs/ceph/ceph.go +++ b/plugins/inputs/ceph/ceph.go @@ -299,8 +299,8 @@ func (c *Ceph) execute(command string) (string, error) { // Ceph doesn't sanitize its output, and may return invalid JSON. Patch this // up for them, as having some inaccurate data is better than none. - output = strings.Replace(output, "-inf", "0", -1) - output = strings.Replace(output, "inf", "0", -1) + output = strings.ReplaceAll(output, "-inf", "0") + output = strings.ReplaceAll(output, "inf", "0") return output, nil } diff --git a/plugins/inputs/chrony/chrony.go b/plugins/inputs/chrony/chrony.go index 2a3242ca8ed5d..1fbb4e2881692 100644 --- a/plugins/inputs/chrony/chrony.go +++ b/plugins/inputs/chrony/chrony.go @@ -82,7 +82,7 @@ func processChronycOutput(out string) (map[string]interface{}, map[string]string if len(stats) < 2 { return nil, nil, fmt.Errorf("unexpected output from chronyc, expected ':' in %s", out) } - name := strings.ToLower(strings.Replace(strings.TrimSpace(stats[0]), " ", "_", -1)) + name := strings.ToLower(strings.ReplaceAll(strings.TrimSpace(stats[0]), " ", "_")) // ignore reference time if strings.Contains(name, "ref_time") { continue diff --git a/plugins/inputs/cisco_telemetry_mdt/cisco_telemetry_mdt.go b/plugins/inputs/cisco_telemetry_mdt/cisco_telemetry_mdt.go index 0194fcb1b6898..547237bd98d4a 100644 --- a/plugins/inputs/cisco_telemetry_mdt/cisco_telemetry_mdt.go +++ b/plugins/inputs/cisco_telemetry_mdt/cisco_telemetry_mdt.go @@ -136,7 +136,7 @@ func (c *CiscoTelemetryMDT) Start(acc telegraf.Accumulator) error { // Fill extra tags c.extraTags = make(map[string]map[string]struct{}) for _, tag := range c.EmbeddedTags { - dir := strings.Replace(path.Dir(tag), "-", "_", -1) + dir := strings.ReplaceAll(path.Dir(tag), "-", "_") if _, hasKey := c.extraTags[dir]; !hasKey { c.extraTags[dir] = make(map[string]struct{}) } @@ -441,7 +441,7 @@ func decodeTag(field *telemetry.TelemetryField) string { // Recursively parse tag fields func (c *CiscoTelemetryMDT) parseKeyField(tags map[string]string, field *telemetry.TelemetryField, prefix string) { - localname := strings.Replace(field.Name, "-", "_", -1) + localname := strings.ReplaceAll(field.Name, "-", "_") name := localname if len(localname) == 0 { name = prefix @@ -529,7 +529,7 @@ func (c *CiscoTelemetryMDT) parseClassAttributeField(grouper *metric.SeriesGroup func (c *CiscoTelemetryMDT) parseContentField(grouper *metric.SeriesGrouper, field *telemetry.TelemetryField, prefix string, encodingPath string, tags map[string]string, timestamp time.Time) { - name := strings.Replace(field.Name, "-", "_", -1) + name := strings.ReplaceAll(field.Name, "-", "_") if (name == "modTs" || name == "createTs") && decodeValue(field) == "never" { return @@ -540,7 +540,7 @@ func (c *CiscoTelemetryMDT) parseContentField(grouper *metric.SeriesGrouper, fie name = prefix + "/" + name } - extraTags := c.extraTags[strings.Replace(encodingPath, "-", "_", -1)+"/"+name] + extraTags := c.extraTags[strings.ReplaceAll(encodingPath, "-", "_")+"/"+name] if value := decodeValue(field); value != nil { // Do alias lookup, to shorten measurement names @@ -571,7 +571,7 @@ func (c *CiscoTelemetryMDT) parseContentField(grouper *metric.SeriesGrouper, fie if len(extraTags) > 0 { for _, subfield := range field.Fields { if _, isExtraTag := extraTags[subfield.Name]; isExtraTag { - tags[name+"/"+strings.Replace(subfield.Name, "-", "_", -1)] = decodeTag(subfield) + tags[name+"/"+strings.ReplaceAll(subfield.Name, "-", "_")] = decodeTag(subfield) } } } diff --git a/plugins/inputs/cloudwatch/cloudwatch.go b/plugins/inputs/cloudwatch/cloudwatch.go index 7c0215ebbcac1..b75561cbf0266 100644 --- a/plugins/inputs/cloudwatch/cloudwatch.go +++ b/plugins/inputs/cloudwatch/cloudwatch.go @@ -522,15 +522,15 @@ func New() *CloudWatch { } func sanitizeMeasurement(namespace string) string { - namespace = strings.Replace(namespace, "/", "_", -1) + namespace = strings.ReplaceAll(namespace, "/", "_") namespace = snakeCase(namespace) return "cloudwatch_" + namespace } func snakeCase(s string) string { s = internal.SnakeCase(s) - s = strings.Replace(s, " ", "_", -1) - s = strings.Replace(s, "__", "_", -1) + s = strings.ReplaceAll(s, " ", "_") + s = strings.ReplaceAll(s, "__", "_") return s } diff --git a/plugins/inputs/dcos/dcos.go b/plugins/inputs/dcos/dcos.go index 05e1e8f097600..f3a6a6d3f6c64 100644 --- a/plugins/inputs/dcos/dcos.go +++ b/plugins/inputs/dcos/dcos.go @@ -175,7 +175,7 @@ type point struct { func (d *DCOS) createPoints(m *Metrics) []*point { points := make(map[string]*point) for _, dp := range m.Datapoints { - fieldKey := strings.Replace(dp.Name, ".", "_", -1) + fieldKey := strings.ReplaceAll(dp.Name, ".", "_") tags := dp.Tags if tags == nil { diff --git a/plugins/inputs/disk/disk.go b/plugins/inputs/disk/disk.go index 6c1f59997b2dd..62945ef11c1d4 100644 --- a/plugins/inputs/disk/disk.go +++ b/plugins/inputs/disk/disk.go @@ -46,7 +46,7 @@ func (ds *DiskStats) Gather(acc telegraf.Accumulator) error { mountOpts := MountOptions(partitions[i].Opts) tags := map[string]string{ "path": du.Path, - "device": strings.Replace(partitions[i].Device, "/dev/", "", -1), + "device": strings.ReplaceAll(partitions[i].Device, "/dev/", ""), "fstype": du.Fstype, "mode": mountOpts.Mode(), } diff --git a/plugins/inputs/docker/docker.go b/plugins/inputs/docker/docker.go index d8850dbfc2386..3f0c73bf1a149 100644 --- a/plugins/inputs/docker/docker.go +++ b/plugins/inputs/docker/docker.go @@ -328,7 +328,7 @@ func (d *Docker) gatherInfo(acc telegraf.Accumulator) error { ) for _, rawData := range info.DriverStatus { - name := strings.ToLower(strings.Replace(rawData[0], " ", "_", -1)) + name := strings.ToLower(strings.ReplaceAll(rawData[0], " ", "_")) if name == "pool_name" { poolName = rawData[1] continue diff --git a/plugins/inputs/elasticsearch_query/aggregation_query.go b/plugins/inputs/elasticsearch_query/aggregation_query.go index aff67d2baa884..ab97277f4e119 100644 --- a/plugins/inputs/elasticsearch_query/aggregation_query.go +++ b/plugins/inputs/elasticsearch_query/aggregation_query.go @@ -153,7 +153,7 @@ func (aggregation *esAggregation) buildAggregationQuery() error { measurement: aggregation.MeasurementName, function: aggregation.MetricFunction, field: k, - name: strings.Replace(k, ".", "_", -1) + "_" + aggregation.MetricFunction, + name: strings.ReplaceAll(k, ".", "_") + "_" + aggregation.MetricFunction, }, isParent: true, aggregation: agg, @@ -185,7 +185,7 @@ func (aggregation *esAggregation) buildAggregationQuery() error { measurement: aggregation.MeasurementName, function: "terms", field: term, - name: strings.Replace(term, ".", "_", -1), + name: strings.ReplaceAll(term, ".", "_"), }, isParent: true, aggregation: agg, diff --git a/plugins/inputs/elasticsearch_query/elasticsearch_query_test.go b/plugins/inputs/elasticsearch_query/elasticsearch_query_test.go index e017681b7c58d..cccebc3ba3253 100644 --- a/plugins/inputs/elasticsearch_query/elasticsearch_query_test.go +++ b/plugins/inputs/elasticsearch_query/elasticsearch_query_test.go @@ -546,9 +546,9 @@ func setupIntegrationTest() error { logline := nginxlog{ IPaddress: parts[0], Timestamp: time.Now().UTC(), - Method: strings.Replace(parts[5], `"`, "", -1), + Method: strings.ReplaceAll(parts[5], `"`, ""), URI: parts[6], - Httpversion: strings.Replace(parts[7], `"`, "", -1), + Httpversion: strings.ReplaceAll(parts[7], `"`, ""), Response: parts[8], Size: float64(size), ResponseTime: float64(responseTime), diff --git a/plugins/inputs/gnmi/gnmi.go b/plugins/inputs/gnmi/gnmi.go index 42754348e8c4b..f45bf0d8e4c65 100644 --- a/plugins/inputs/gnmi/gnmi.go +++ b/plugins/inputs/gnmi/gnmi.go @@ -413,7 +413,7 @@ func (c *GNMI) handleTelemetryField(update *gnmiLib.Update, tags map[string]stri jsondata = val.JsonVal } - name := strings.Replace(gpath, "-", "_", -1) + name := strings.ReplaceAll(gpath, "-", "_") fields := make(map[string]interface{}) if value != nil { fields[name] = value @@ -462,7 +462,7 @@ func (c *GNMI) handlePath(gnmiPath *gnmiLib.Path, tags map[string]string, prefix if tags != nil { for key, val := range elem.Key { - key = strings.Replace(key, "-", "_", -1) + key = strings.ReplaceAll(key, "-", "_") // Use short-form of key if possible if _, exists := tags[key]; exists { diff --git a/plugins/inputs/intel_rdt/intel_rdt.go b/plugins/inputs/intel_rdt/intel_rdt.go index a7044428f7449..39e201c9b79d2 100644 --- a/plugins/inputs/intel_rdt/intel_rdt.go +++ b/plugins/inputs/intel_rdt/intel_rdt.go @@ -233,7 +233,7 @@ func (r *IntelRDT) readData(ctx context.Context, args []string, processesPIDsAss if r.UseSudo { // run pqos with `/bin/sh -c "sudo /path/to/pqos ..."` - args = []string{"-c", fmt.Sprintf("sudo %s %s", r.PqosPath, strings.Replace(strings.Join(args, " "), ";", "\\;", -1))} + args = []string{"-c", fmt.Sprintf("sudo %s %s", r.PqosPath, strings.ReplaceAll(strings.Join(args, " "), ";", "\\;"))} cmd = exec.Command("/bin/sh", args...) } diff --git a/plugins/inputs/ipmi_sensor/ipmi_sensor.go b/plugins/inputs/ipmi_sensor/ipmi_sensor.go index d79b4d5225ab2..134e889fe4bbf 100644 --- a/plugins/inputs/ipmi_sensor/ipmi_sensor.go +++ b/plugins/inputs/ipmi_sensor/ipmi_sensor.go @@ -278,7 +278,7 @@ func trim(s string) string { func transform(s string) string { s = trim(s) s = strings.ToLower(s) - return strings.Replace(s, " ", "_", -1) + return strings.ReplaceAll(s, " ", "_") } func init() { diff --git a/plugins/inputs/jolokia2/common/point_builder.go b/plugins/inputs/jolokia2/common/point_builder.go index feba74b11620a..ae45fdaa744c1 100644 --- a/plugins/inputs/jolokia2/common/point_builder.go +++ b/plugins/inputs/jolokia2/common/point_builder.go @@ -143,7 +143,7 @@ func (pb *pointBuilder) formatFieldName(attribute, path string) string { } if path != "" { - fieldName = fieldName + fieldSeparator + strings.Replace(path, "/", fieldSeparator, -1) + fieldName = fieldName + fieldSeparator + strings.ReplaceAll(path, "/", fieldSeparator) } return fieldName @@ -200,7 +200,7 @@ func (pb *pointBuilder) applySubstitutions(mbean string, fieldMap map[string]int substitution := properties[subKey] for fieldName, fieldValue := range fieldMap { - newFieldName := strings.Replace(fieldName, symbol, substitution, -1) + newFieldName := strings.ReplaceAll(fieldName, symbol, substitution) if fieldName != newFieldName { fieldMap[newFieldName] = fieldValue delete(fieldMap, fieldName) diff --git a/plugins/inputs/jti_openconfig_telemetry/jti_openconfig_telemetry.go b/plugins/inputs/jti_openconfig_telemetry/jti_openconfig_telemetry.go index b4ca80468432b..9d12ad46c8254 100644 --- a/plugins/inputs/jti_openconfig_telemetry/jti_openconfig_telemetry.go +++ b/plugins/inputs/jti_openconfig_telemetry/jti_openconfig_telemetry.go @@ -74,7 +74,7 @@ func spitTagsNPath(xmlpath string) (string, map[string]string) { // we must emit multiple tags for _, kv := range strings.Split(sub[2], " and ") { key := tagKey + strings.TrimSpace(strings.Split(kv, "=")[0]) - tagValue := strings.Replace(strings.Split(kv, "=")[1], "'", "", -1) + tagValue := strings.ReplaceAll(strings.Split(kv, "=")[1], "'", "") tags[key] = tagValue } diff --git a/plugins/inputs/mysql/mysql.go b/plugins/inputs/mysql/mysql.go index 79c48f7c11518..88eb029f004ec 100644 --- a/plugins/inputs/mysql/mysql.go +++ b/plugins/inputs/mysql/mysql.go @@ -1875,8 +1875,8 @@ func (m *Mysql) parseValueByDatabaseTypeName(value sql.RawBytes, databaseTypeNam func findThreadState(rawCommand, rawState string) string { var ( // replace '_' symbol with space - command = strings.Replace(strings.ToLower(rawCommand), "_", " ", -1) - state = strings.Replace(strings.ToLower(rawState), "_", " ", -1) + command = strings.ReplaceAll(strings.ToLower(rawCommand), "_", " ") + state = strings.ReplaceAll(strings.ToLower(rawState), "_", " ") ) // if the state is already valid, then return it if _, ok := generalThreadStates[state]; ok { @@ -1909,7 +1909,7 @@ func findThreadState(rawCommand, rawState string) string { // newNamespace can be used to make a namespace func newNamespace(words ...string) string { - return strings.Replace(strings.Join(words, "_"), " ", "_", -1) + return strings.ReplaceAll(strings.Join(words, "_"), " ", "_") } func copyTags(in map[string]string) map[string]string { diff --git a/plugins/inputs/nsd/nsd.go b/plugins/inputs/nsd/nsd.go index 948f205953a80..4b633148c63b1 100644 --- a/plugins/inputs/nsd/nsd.go +++ b/plugins/inputs/nsd/nsd.go @@ -110,7 +110,7 @@ func (s *NSD) Gather(acc telegraf.Accumulator) error { } } } else { - field := strings.Replace(stat, ".", "_", -1) + field := strings.ReplaceAll(stat, ".", "_") fields[field] = fieldValue } } diff --git a/plugins/inputs/openldap/openldap.go b/plugins/inputs/openldap/openldap.go index 4853ff19d11da..45ae42a350b0b 100644 --- a/plugins/inputs/openldap/openldap.go +++ b/plugins/inputs/openldap/openldap.go @@ -170,8 +170,8 @@ func dnToMetric(dn string, o *Openldap) string { var metricParts []string dn = strings.Trim(dn, " ") - dn = strings.Replace(dn, " ", "_", -1) - dn = strings.Replace(dn, "cn=", "", -1) + dn = strings.ReplaceAll(dn, " ", "_") + dn = strings.ReplaceAll(dn, "cn=", "") dn = strings.ToLower(dn) metricParts = strings.Split(dn, ",") for i, j := 0, len(metricParts)-1; i < j; i, j = i+1, j-1 { @@ -181,12 +181,12 @@ func dnToMetric(dn string, o *Openldap) string { } metricName := strings.Trim(dn, " ") - metricName = strings.Replace(metricName, " ", "_", -1) + metricName = strings.ReplaceAll(metricName, " ", "_") metricName = strings.ToLower(metricName) metricName = strings.TrimPrefix(metricName, "cn=") - metricName = strings.Replace(metricName, strings.ToLower("cn=Monitor"), "", -1) - metricName = strings.Replace(metricName, "cn=", "_", -1) - return strings.Replace(metricName, ",", "", -1) + metricName = strings.ReplaceAll(metricName, strings.ToLower("cn=Monitor"), "") + metricName = strings.ReplaceAll(metricName, "cn=", "_") + return strings.ReplaceAll(metricName, ",", "") } func init() { diff --git a/plugins/inputs/opensmtpd/opensmtpd.go b/plugins/inputs/opensmtpd/opensmtpd.go index 2b670c03de92c..7159e47a60111 100644 --- a/plugins/inputs/opensmtpd/opensmtpd.go +++ b/plugins/inputs/opensmtpd/opensmtpd.go @@ -87,7 +87,7 @@ func (s *Opensmtpd) Gather(acc telegraf.Accumulator) error { continue } - field := strings.Replace(stat, ".", "_", -1) + field := strings.ReplaceAll(stat, ".", "_") fields[field], err = strconv.ParseFloat(value, 64) if err != nil { diff --git a/plugins/inputs/phpfpm/phpfpm.go b/plugins/inputs/phpfpm/phpfpm.go index 09ebde883dfb4..52ef1f7f8bc78 100644 --- a/plugins/inputs/phpfpm/phpfpm.go +++ b/plugins/inputs/phpfpm/phpfpm.go @@ -227,7 +227,7 @@ func importMetric(r io.Reader, acc telegraf.Accumulator, addr string) { } fields := make(map[string]interface{}) for k, v := range stats[pool] { - fields[strings.Replace(k, " ", "_", -1)] = v + fields[strings.ReplaceAll(k, " ", "_")] = v } acc.AddFields("phpfpm", fields, tags) } diff --git a/plugins/inputs/redis_sentinel/redis_sentinel.go b/plugins/inputs/redis_sentinel/redis_sentinel.go index be80ebe2ba69b..b425fcd94d3b1 100644 --- a/plugins/inputs/redis_sentinel/redis_sentinel.go +++ b/plugins/inputs/redis_sentinel/redis_sentinel.go @@ -138,7 +138,7 @@ func prepareFieldValues(fields map[string]string, typeMap map[string]configField preparedFields := make(map[string]interface{}) for key, val := range fields { - key = strings.Replace(key, "-", "_", -1) + key = strings.ReplaceAll(key, "-", "_") valType, ok := typeMap[key] if !ok { diff --git a/plugins/inputs/sensors/sensors.go b/plugins/inputs/sensors/sensors.go index 82aaf20d265fd..d73c543e9ef58 100644 --- a/plugins/inputs/sensors/sensors.go +++ b/plugins/inputs/sensors/sensors.go @@ -92,7 +92,7 @@ func (s *Sensors) parse(acc telegraf.Accumulator) error { // snake converts string to snake case func snake(input string) string { - return strings.ToLower(strings.Replace(strings.TrimSpace(input), " ", "_", -1)) + return strings.ToLower(strings.ReplaceAll(strings.TrimSpace(input), " ", "_")) } func init() { diff --git a/plugins/inputs/smart/smart.go b/plugins/inputs/smart/smart.go index 4064c0ffbb928..383fca60d4321 100644 --- a/plugins/inputs/smart/smart.go +++ b/plugins/inputs/smart/smart.go @@ -730,12 +730,12 @@ func (m *Smart) gatherDisk(acc telegraf.Accumulator, device string, wg *sync.Wai wwn := wwnInfo.FindStringSubmatch(line) if len(wwn) > 1 { - deviceTags["wwn"] = strings.Replace(wwn[1], " ", "", -1) + deviceTags["wwn"] = strings.ReplaceAll(wwn[1], " ", "") } capacity := userCapacityInfo.FindStringSubmatch(line) if len(capacity) > 1 { - deviceTags["capacity"] = strings.Replace(capacity[1], ",", "", -1) + deviceTags["capacity"] = strings.ReplaceAll(capacity[1], ",", "") } enabled := smartEnabledInfo.FindStringSubmatch(line) @@ -1004,7 +1004,7 @@ func parseDataUnits(fields, deviceFields map[string]interface{}, str string) err } func parseCommaSeparatedIntWithAccumulator(acc telegraf.Accumulator, fields map[string]interface{}, tags map[string]string, str string) error { - i, err := strconv.ParseInt(strings.Replace(str, ",", "", -1), 10, 64) + i, err := strconv.ParseInt(strings.ReplaceAll(str, ",", ""), 10, 64) if err != nil { return err } diff --git a/plugins/inputs/statsd/statsd.go b/plugins/inputs/statsd/statsd.go index 1310d54750400..0075f1f73ccad 100644 --- a/plugins/inputs/statsd/statsd.go +++ b/plugins/inputs/statsd/statsd.go @@ -713,8 +713,8 @@ func (s *Statsd) parseName(bucket string) (name string, field string, tags map[s } if s.ConvertNames { - name = strings.Replace(name, ".", "_", -1) - name = strings.Replace(name, "-", "__", -1) + name = strings.ReplaceAll(name, ".", "_") + name = strings.ReplaceAll(name, "-", "__") } if field == "" { field = defaultFieldName diff --git a/plugins/inputs/unbound/unbound.go b/plugins/inputs/unbound/unbound.go index d5592e45878de..1dd6ca85be31c 100644 --- a/plugins/inputs/unbound/unbound.go +++ b/plugins/inputs/unbound/unbound.go @@ -151,7 +151,7 @@ func (s *Unbound) Gather(acc telegraf.Accumulator) error { } } } else { - field := strings.Replace(stat, ".", "_", -1) + field := strings.ReplaceAll(stat, ".", "_") fields[field] = fieldValue } } diff --git a/plugins/outputs/amon/amon.go b/plugins/outputs/amon/amon.go index 79dcca290d248..c29b9e9062111 100644 --- a/plugins/outputs/amon/amon.go +++ b/plugins/outputs/amon/amon.go @@ -55,11 +55,11 @@ func (a *Amon) Write(metrics []telegraf.Metric) error { metricCounter := 0 for _, m := range metrics { - mname := strings.Replace(m.Name(), "_", ".", -1) + mname := strings.ReplaceAll(m.Name(), "_", ".") if amonPts, err := buildMetrics(m); err == nil { for fieldName, amonPt := range amonPts { metric := &Metric{ - Metric: mname + "_" + strings.Replace(fieldName, "_", ".", -1), + Metric: mname + "_" + strings.ReplaceAll(fieldName, "_", "."), } metric.Points[0] = amonPt tempSeries = append(tempSeries, metric) diff --git a/plugins/outputs/cratedb/cratedb.go b/plugins/outputs/cratedb/cratedb.go index 60b41a69bda5a..283421e971240 100644 --- a/plugins/outputs/cratedb/cratedb.go +++ b/plugins/outputs/cratedb/cratedb.go @@ -183,7 +183,7 @@ func escapeObject(m map[string]interface{}, keyReplacement string) (string, erro // escapeString wraps s in the given quote string and replaces all occurrences // of it inside of s with a double quote. func escapeString(s string, quote string) string { - return quote + strings.Replace(s, quote, quote+quote, -1) + quote + return quote + strings.ReplaceAll(s, quote, quote+quote) + quote } // hashID returns a cryptographic hash int64 hash that includes the metric name diff --git a/plugins/outputs/datadog/datadog.go b/plugins/outputs/datadog/datadog.go index 682be05070b66..5419c4da40e81 100644 --- a/plugins/outputs/datadog/datadog.go +++ b/plugins/outputs/datadog/datadog.go @@ -148,13 +148,13 @@ func (d *Datadog) Write(metrics []telegraf.Metric) error { } if err != nil { - return fmt.Errorf("unable to create http.Request, %s", strings.Replace(err.Error(), d.Apikey, redactedAPIKey, -1)) + return fmt.Errorf("unable to create http.Request, %s", strings.ReplaceAll(err.Error(), d.Apikey, redactedAPIKey)) } req.Header.Add("Content-Type", "application/json") resp, err := d.client.Do(req) if err != nil { - return fmt.Errorf("error POSTing metrics, %s", strings.Replace(err.Error(), d.Apikey, redactedAPIKey, -1)) + return fmt.Errorf("error POSTing metrics, %s", strings.ReplaceAll(err.Error(), d.Apikey, redactedAPIKey)) } defer resp.Body.Close() diff --git a/plugins/outputs/sql/sql.go b/plugins/outputs/sql/sql.go index 4340f04c29d43..fb2d072736982 100644 --- a/plugins/outputs/sql/sql.go +++ b/plugins/outputs/sql/sql.go @@ -71,12 +71,12 @@ func (p *SQL) Close() error { // Quote an identifier (table or column name) func quoteIdent(name string) string { - return `"` + strings.Replace(sanitizeQuoted(name), `"`, `""`, -1) + `"` + return `"` + strings.ReplaceAll(sanitizeQuoted(name), `"`, `""`) + `"` } // Quote a string literal func quoteStr(name string) string { - return "'" + strings.Replace(name, "'", "''", -1) + "'" + return "'" + strings.ReplaceAll(name, "'", "''") + "'" } func sanitizeQuoted(in string) string { @@ -143,10 +143,10 @@ func (p *SQL) generateCreateTable(metric telegraf.Metric) string { } query := p.TableTemplate - query = strings.Replace(query, "{TABLE}", quoteIdent(metric.Name()), -1) - query = strings.Replace(query, "{TABLELITERAL}", quoteStr(metric.Name()), -1) - query = strings.Replace(query, "{COLUMNS}", strings.Join(columns, ","), -1) - //query = strings.Replace(query, "{KEY_COLUMNS}", strings.Join(pk, ","), -1) + query = strings.ReplaceAll(query, "{TABLE}", quoteIdent(metric.Name())) + query = strings.ReplaceAll(query, "{TABLELITERAL}", quoteStr(metric.Name())) + query = strings.ReplaceAll(query, "{COLUMNS}", strings.Join(columns, ",")) + //query = strings.ReplaceAll(query, "{KEY_COLUMNS}", strings.Join(pk, ",")) return query } @@ -175,7 +175,7 @@ func (p *SQL) generateInsert(tablename string, columns []string) string { } func (p *SQL) tableExists(tableName string) bool { - stmt := strings.Replace(p.TableExistsTemplate, "{TABLE}", quoteIdent(tableName), -1) + stmt := strings.ReplaceAll(p.TableExistsTemplate, "{TABLE}", quoteIdent(tableName)) _, err := p.db.Exec(stmt) return err == nil diff --git a/plugins/outputs/warp10/warp10.go b/plugins/outputs/warp10/warp10.go index bfe4ef3569207..06d6a5af6d9ba 100644 --- a/plugins/outputs/warp10/warp10.go +++ b/plugins/outputs/warp10/warp10.go @@ -162,7 +162,7 @@ func buildValue(v interface{}) (string, error) { case int64: retv = intToString(p) case string: - retv = fmt.Sprintf("'%s'", strings.Replace(p, "'", "\\'", -1)) + retv = fmt.Sprintf("'%s'", strings.ReplaceAll(p, "'", "\\'")) case bool: retv = boolToString(p) case uint64: diff --git a/plugins/parsers/grok/parser.go b/plugins/parsers/grok/parser.go index f869b3039c483..026785f034889 100644 --- a/plugins/parsers/grok/parser.go +++ b/plugins/parsers/grok/parser.go @@ -291,7 +291,7 @@ func (p *Parser) ParseLine(line string) (telegraf.Metric, error) { if len(parts) == 2 { padded := fmt.Sprintf("%-9s", parts[1]) - nsString := strings.Replace(padded[:9], " ", "0", -1) + nsString := strings.ReplaceAll(padded[:9], " ", "0") nanosec, err := strconv.ParseInt(nsString, 10, 64) if err != nil { p.Log.Errorf("Error parsing %s to timestamp: %s", v, err) @@ -357,7 +357,7 @@ func (p *Parser) ParseLine(line string) (telegraf.Metric, error) { case Drop: // goodbye! default: - v = strings.Replace(v, ",", ".", -1) + v = strings.ReplaceAll(v, ",", ".") ts, err := time.ParseInLocation(t, v, p.loc) if err == nil { if ts.Year() == 0 { diff --git a/plugins/processors/strings/strings.go b/plugins/processors/strings/strings.go index a93bac9e26cb8..8cc3d5ba9c3d0 100644 --- a/plugins/processors/strings/strings.go +++ b/plugins/processors/strings/strings.go @@ -224,7 +224,7 @@ func (s *Strings) initOnce() { for _, c := range s.Replace { c := c c.fn = func(s string) string { - newString := strings.Replace(s, c.Old, c.New, -1) + newString := strings.ReplaceAll(s, c.Old, c.New) if newString == "" { return s } diff --git a/plugins/serializers/carbon2/carbon2.go b/plugins/serializers/carbon2/carbon2.go index db8c38222972e..58400c618601b 100644 --- a/plugins/serializers/carbon2/carbon2.go +++ b/plugins/serializers/carbon2/carbon2.go @@ -90,14 +90,14 @@ func (s *Serializer) createObject(metric telegraf.Metric) []byte { } for _, tag := range metric.TagList() { - m.WriteString(strings.Replace(tag.Key, " ", "_", -1)) //nolint:revive // from buffer.go: "err is always nil" - m.WriteString("=") //nolint:revive // from buffer.go: "err is always nil" + m.WriteString(strings.ReplaceAll(tag.Key, " ", "_")) //nolint:revive // from buffer.go: "err is always nil" + m.WriteString("=") //nolint:revive // from buffer.go: "err is always nil" value := tag.Value if len(value) == 0 { value = "null" } - m.WriteString(strings.Replace(value, " ", "_", -1)) //nolint:revive // from buffer.go: "err is always nil" - m.WriteString(" ") //nolint:revive // from buffer.go: "err is always nil" + m.WriteString(strings.ReplaceAll(value, " ", "_")) //nolint:revive // from buffer.go: "err is always nil" + m.WriteString(" ") //nolint:revive // from buffer.go: "err is always nil" } m.WriteString(" ") //nolint:revive // from buffer.go: "err is always nil" m.WriteString(formatValue(fieldValue)) //nolint:revive // from buffer.go: "err is always nil" @@ -122,15 +122,15 @@ func (s *Serializer) IsMetricsFormatUnset() bool { func serializeMetricFieldSeparate(name, fieldName string) string { return fmt.Sprintf("metric=%s field=%s ", - strings.Replace(name, " ", "_", -1), - strings.Replace(fieldName, " ", "_", -1), + strings.ReplaceAll(name, " ", "_"), + strings.ReplaceAll(fieldName, " ", "_"), ) } func serializeMetricIncludeField(name, fieldName string) string { return fmt.Sprintf("metric=%s_%s ", - strings.Replace(name, " ", "_", -1), - strings.Replace(fieldName, " ", "_", -1), + strings.ReplaceAll(name, " ", "_"), + strings.ReplaceAll(fieldName, " ", "_"), ) } diff --git a/plugins/serializers/graphite/graphite.go b/plugins/serializers/graphite/graphite.go index c6130c7b7c4b4..074b36e82376b 100644 --- a/plugins/serializers/graphite/graphite.go +++ b/plugins/serializers/graphite/graphite.go @@ -180,7 +180,7 @@ func SerializeBucketName( default: // This is a tag being applied if tagvalue, ok := tagsCopy[templatePart]; ok { - out = append(out, strings.Replace(tagvalue, ".", "_", -1)) + out = append(out, strings.ReplaceAll(tagvalue, ".", "_")) delete(tagsCopy, templatePart) } } @@ -307,7 +307,7 @@ func buildTags(tags map[string]string) string { var tagStr string for i, k := range keys { - tagValue := strings.Replace(tags[k], ".", "_", -1) + tagValue := strings.ReplaceAll(tags[k], ".", "_") if i == 0 { tagStr += tagValue } else {