Error fetching monitor with mtd cummulative window starting on custom day

Aberta Para iniciantes
#3,592 3 comentários 0 reações 0 responsáveis Ver no GitHub

Mantenedores costumam responder em até 2 dias

Ninguém assumiu esta issue ainda.

Avaliação

Dificuldade
2/5
Tempo estimado
1-3 horas
Facilidade para iniciantes
75/100
Tipo de issue
Bug
Clareza
Claramente especificada
Status de atividade
Ativa
Stack de tecnologia
openapi, ruby
Domínio
api

Direção de pesquisa

Comece em lib/datadog_api_client/v1/models/monitor_options_scheduling_options_evaluation_window.rb, na validação de month_starts mencionada na issue, e depois reproduza a falha com client.get_monitor(306920871) ou com um monitor month-to-date equivalente que use um dia de início personalizado. Está concluído quando buscar e listar esses monitores não causar mais o ArgumentError relatado.

Escrita pelo modelo de indexação a partir do texto da issue.

Descrição

kind/bug stale

Describe the bug

If I create a monitor with a custom starting day (eg: 17) for a month long cumulative window, trying to get the monitor, or list the monitor results in an exception being thrown.

ArgumentError: invalid value for "month_starts", must be smaller than or equal to 1.

To Reproduce

Create a metric monitor with a cummulative window, month to date, starting on any date but 1.

Example:

{
	"id": 306920871,
	"name": "wesley datadog api bug with custom start date for month to date",
	"type": "query alert",
	"query": "avg(current_1mo):avg:system.load.1{*} > 100",
	"message": "",
	"tags": [],
	"options": {
		"thresholds": {
			"critical": 100
		},
		"notify_audit": false,
		"on_missing_data": "default",
		"include_tags": false,
		"scheduling_options": {
			"evaluation_window": {
				"month_starts": 17,
				"day_starts": "00:00",
				"timezone": "UTC"
			}
		},
		"new_host_delay": 300
	},
	"priority": null,
	"draft_status": "draft",
	"assets": []
}

Attempt to fetch the monitor by id

client.get_monitor(306920871)

Expected behavior

No exception raised.

The generated code for month_starts= seems overly strict in this case

https://github.com/DataDog/datadog-api-client-ruby/blob/master/lib/datadog_api_client/v1/models/monitor_options_scheduling_options_evaluation_window.rb#L122

Environment and Versions:

Ruby: 3.3.11
Version: 2.32.0

Additional context
Add any other context about the problem here.

Linguagem predominante
Ruby
Estrelas
46
Forks
22
Merge médio
2d 6h
PRs com merge (30d)
128

Preparar o ambiente

  • Sem Dockerfile nem arquivo Docker Compose
  • Tem um modelo de pull request
  • Sem guia de contribuição

Primeiros passos

  1. Leia a issue inteira e depois o guia de contribuição do projeto.
  2. Comente na issue dizendo que vai assumir — evita que duas pessoas façam o mesmo trabalho.
  3. Faça um fork do repositório e trabalhe em uma branch.
  4. Abra um pull request que referencie o número da issue.

Mais de DataDog/datadog-api-client-ruby

Todas as issues de DataDog/datadog-api-client-ruby

Issues semelhantes

Mais issues de Ruby

Receba novas issues na sua caixa de entrada

Um resumo curto de issues do GitHub para quem está começando.