Skip to content

Iter15#15

Merged
iliaonishchenko merged 4 commits intov2from
iter15
Feb 11, 2026
Merged

Iter15#15
iliaonishchenko merged 4 commits intov2from
iter15

Conversation

@iliaonishchenko
Copy link
Copy Markdown
Owner

No description provided.

"time"
)

func parseFlags(cfg *agentconfig.Config, defaultServerAddress, defaultKey string, defaultReportInterval, defaultPollInterval, defaultRateLimit int) {
Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Постарайся оставлять в main.go (и в пакете main) как можно меньше логики: там могут лежать только создание и настройка компонентов, инъекции зависимостей и запуск сервиса. Всю остальную логику, например, получение конфигурации, нужно перенести в internal

jobsCh <- metricBatch
}
}()
case <-stopCh:
Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

stopCh в твоем коде никак не используется после инициализации. В каком случае из него может что-то вычитаться?

log.Printf("Sending metrics %v", metrics[0])
err := a.sender.SendJSONWithRetries(metrics...)
if err != nil {
log.Printf("error sending metrics: %v", err)
Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Во втором спринте ты добавлял в код структурированный логгер. Теперь стоит исползовать его вместо пакета log

"time"
)

type MockCollector struct {
Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Не пиши моки вручную, генерируй их.

Для testify-совместимых моков лучше использовать https://github.com/vektra/mockery, который позволяет генерировать моки из интерфейсов

type Collector struct {
pollCount int64
Metrics []*models.Metrics
Metrics [][]*models.Metrics
Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Не надо делать это поле экспортируемым. Если к нему у кого-то должен быть доступ, напиши соответствующие методы (не забудь, что поле должно защищаться мьютексом)

result := make([]*models.Metrics, len(c.Metrics))
func (c *Collector) CollectSystem() {
log.Printf("Collecting system metrics")
v, _ := mem.VirtualMemory()
Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Ошибки надо проверять

@iliaonishchenko iliaonishchenko merged commit 691e4a8 into v2 Feb 11, 2026
3 checks passed
iliaonishchenko pushed a commit that referenced this pull request Mar 29, 2026
Внесены правки в структуру проекта
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants