-
Notifications
You must be signed in to change notification settings - Fork 58
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Add v2 endpoints for RUM custom metrics. #2748
Add v2 endpoints for RUM custom metrics. #2748
Conversation
// but it doesn't guarantee that properties required by API are set. | ||
func NewRumMetricFilterWithDefaults() *RumMetricFilter { | ||
this := RumMetricFilter{} | ||
var query string = "*" |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
🔵 Code Quality Violation
var query string = "*" | |
var query = "*" |
redundant type declaration (...read more)
In Go, it is considered good practice to avoid declaring the type when it is obvious or when the type can be inferred from the assignment. This is known as type inference, and it offers several benefits:
- Readability: By omitting the explicit type declaration, the code becomes more concise and easier to read. Redundant type declarations can clutter the code and introduce unnecessary noise. When the type is obvious from the assigned value, omitting the type declaration can improve code readability and make it more expressive.
- Flexibility and maintainability: Using type inference allows for easier changes to the underlying type without manually updating every instance where it is declared. If the type needs to be changed in the future, you only need to modify the assignment, and Go's type inference mechanism will handle the rest. This reduces the maintenance effort required and improves code maintainability.
- Clean code appearance: Omitting the type declaration when it is obvious results in cleaner code syntax. Code that is free from excessive explicit type declarations tends to look more elegant and consistent. It minimizes redundancy and focuses on the essential logic, contributing to a cleaner and more streamlined codebase.
- Compatibility: Go's type inference mechanism ensures compatibility with future changes to the type of the assigned value. If the assigned value is changed to a type-compatible value, the code will continue to compile and run without any modifications. This allows for flexibility in your code while maintaining correctness.
That being said, it is important to strike a balance and avoid excessive use of type inference. Clear and explicit type declarations are still valuable when they enhance code clarity, such as when documenting or expressing the intent of the code. It is essential to find the right balance between brevity and clarity in your codebase.
By utilizing Go's type inference mechanism and avoiding explicit type declarations when the type is obvious, you can achieve more readable, maintainable, and concise code that adheres to Go's idiomatic style.
} | ||
|
||
localVarPath := localBasePath + "/api/v2/rum/config/metrics/{metric_id}" | ||
localVarPath = strings.Replace(localVarPath, "{"+"metric_id"+"}", _neturl.PathEscape(datadog.ParameterToString(metricId, "")), -1) |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
🟠 Code Quality Violation
localVarPath = strings.Replace(localVarPath, "{"+"metric_id"+"}", _neturl.PathEscape(datadog.ParameterToString(metricId, "")), -1) | |
localVarPath = strings.ReplaceAll(localVarPath, "{"+"metric_id"+"}", _neturl.PathEscape(datadog.ParameterToString(metricId, ""))) |
Do not call Replace with a negative limit, use ReplaceAll instead (...read more)
In Go, the strings.Replace()
function is used to replace a certain substring within a string with another substring. The function takes in four parameters: the original string, the old substring to be replaced, the new substring that will replace the old one, and an integer limit dictating how many replacements to be made.
Calling strings.Replace()
with a negative limit doesn't really make sense. According to the Go documentation, if limit is negative, there is no limit on the number of replacements. Which means it will replace all instances of old substring in the original string with a new substring.
For example:
fmt.Println(strings.Replace("oink oink oink", "k", "ky", -2))
In this example, Replace returns a copy of the string "oink oink oink" where "k" is replaced by "ky" everywhere it appears, because limit is -2.
So it's not necessarily "incorrect" to use a negative limit, but it can create misunderstandings in your code. It's best to use a limit of -1
when you want to replace all instances, as this convention is more commonly understood to mean "no limit".
But if you specifically want to avoid using negative limit for Replace or looking for replace method with better efficiency, using strings.NewReplacer()
could be a better option when there are multiple string pairs need to be replaced, where you can specify a list of old-new string pairs.
Or you can use strings.ReplaceAll()
. It is equivalent to Replace with a limit of -1
. It's arguably clearer and more self-explanatory than using a negative limit with strings.Replace()
.
For example:
fmt.Println(strings.ReplaceAll("oink oink oink", "o", "ky"))
It replaces all instances of "o" in the string "oink oink oink" by "ky".
9ee73a2
to
6b361e9
Compare
} | ||
|
||
localVarPath := localBasePath + "/api/v2/rum/config/metrics/{metric_id}" | ||
localVarPath = strings.Replace(localVarPath, "{"+"metric_id"+"}", _neturl.PathEscape(datadog.ParameterToString(metricId, "")), -1) |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
🟠 Code Quality Violation
localVarPath = strings.Replace(localVarPath, "{"+"metric_id"+"}", _neturl.PathEscape(datadog.ParameterToString(metricId, "")), -1) | |
localVarPath = strings.ReplaceAll(localVarPath, "{"+"metric_id"+"}", _neturl.PathEscape(datadog.ParameterToString(metricId, ""))) |
Do not call Replace with a negative limit, use ReplaceAll instead (...read more)
In Go, the strings.Replace()
function is used to replace a certain substring within a string with another substring. The function takes in four parameters: the original string, the old substring to be replaced, the new substring that will replace the old one, and an integer limit dictating how many replacements to be made.
Calling strings.Replace()
with a negative limit doesn't really make sense. According to the Go documentation, if limit is negative, there is no limit on the number of replacements. Which means it will replace all instances of old substring in the original string with a new substring.
For example:
fmt.Println(strings.Replace("oink oink oink", "k", "ky", -2))
In this example, Replace returns a copy of the string "oink oink oink" where "k" is replaced by "ky" everywhere it appears, because limit is -2.
So it's not necessarily "incorrect" to use a negative limit, but it can create misunderstandings in your code. It's best to use a limit of -1
when you want to replace all instances, as this convention is more commonly understood to mean "no limit".
But if you specifically want to avoid using negative limit for Replace or looking for replace method with better efficiency, using strings.NewReplacer()
could be a better option when there are multiple string pairs need to be replaced, where you can specify a list of old-new string pairs.
Or you can use strings.ReplaceAll()
. It is equivalent to Replace with a limit of -1
. It's arguably clearer and more self-explanatory than using a negative limit with strings.Replace()
.
For example:
fmt.Println(strings.ReplaceAll("oink oink oink", "o", "ky"))
It replaces all instances of "o" in the string "oink oink oink" by "ky".
64c2ca4
to
267cd74
Compare
} | ||
|
||
localVarPath := localBasePath + "/api/v2/rum/config/metrics/{metric_id}" | ||
localVarPath = strings.Replace(localVarPath, "{"+"metric_id"+"}", _neturl.PathEscape(datadog.ParameterToString(metricId, "")), -1) |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
🟠 Code Quality Violation
localVarPath = strings.Replace(localVarPath, "{"+"metric_id"+"}", _neturl.PathEscape(datadog.ParameterToString(metricId, "")), -1) | |
localVarPath = strings.ReplaceAll(localVarPath, "{"+"metric_id"+"}", _neturl.PathEscape(datadog.ParameterToString(metricId, ""))) |
Do not call Replace with a negative limit, use ReplaceAll instead (...read more)
In Go, the strings.Replace()
function is used to replace a certain substring within a string with another substring. The function takes in four parameters: the original string, the old substring to be replaced, the new substring that will replace the old one, and an integer limit dictating how many replacements to be made.
Calling strings.Replace()
with a negative limit doesn't really make sense. According to the Go documentation, if limit is negative, there is no limit on the number of replacements. Which means it will replace all instances of old substring in the original string with a new substring.
For example:
fmt.Println(strings.Replace("oink oink oink", "k", "ky", -2))
In this example, Replace returns a copy of the string "oink oink oink" where "k" is replaced by "ky" everywhere it appears, because limit is -2.
So it's not necessarily "incorrect" to use a negative limit, but it can create misunderstandings in your code. It's best to use a limit of -1
when you want to replace all instances, as this convention is more commonly understood to mean "no limit".
But if you specifically want to avoid using negative limit for Replace or looking for replace method with better efficiency, using strings.NewReplacer()
could be a better option when there are multiple string pairs need to be replaced, where you can specify a list of old-new string pairs.
Or you can use strings.ReplaceAll()
. It is equivalent to Replace with a limit of -1
. It's arguably clearer and more self-explanatory than using a negative limit with strings.Replace()
.
For example:
fmt.Println(strings.ReplaceAll("oink oink oink", "o", "ky"))
It replaces all instances of "o" in the string "oink oink oink" by "ky".
2da269e
to
840e689
Compare
840e689
to
5ad3fa6
Compare
5ad3fa6
to
7948195
Compare
Co-authored-by: ci.datadog-api-spec <[email protected]> 3f736e7
See DataDog/datadog-api-spec#3066
Test branch datadog-api-spec/test/arthur.hemery/rum-metrics-v2