Emin Zalaev
но я чот не понимаю
Илья
Почему метрик нет?
Emin Zalaev
получается я метрики отдаю на 7711 порт, прометеус поднимаю на 9090?
Илья
Mr. D
Это сработает Только если network mode = host в докере
может кто подскажет книгу, где структурированно рассказывается о коммуникации между сервисами, имеется ввиду синхронные и ассинхронные + рассматриваются различные протоколы и подходы (SOAP, REST, gRPC, GraphQL, AMQP и т.п.)? При попытках поиска, подобного не обнаружил, только какие-то краткие статьи, не более :)
Emin Zalaev
Илья
Илья
тогда смени там на 8080
Илья
первая джоба скрапит сам прометеус (потому что порт 9090), вторая порт 7771. Если приложение на 8080, то сделай localhost:8080
Илья
графана подключается к самому прометеусу
Emin Zalaev
второй джобы
Илья
Emin Zalaev
сделать localhost:8080 для второй джобы?
Илья
да
Emin Zalaev
не видит почему то метрики
Emin Zalaev
Илья
прометеус перезапустил?
Илья
в логах без ошибок?
Emin Zalaev
| 404 | 39.91µs | ::1 | GET "/metrics"
Emin Zalaev
это сервер
Илья
Исправляй в коде рут
Илья
он не может найти метрики
Emin Zalaev
я же их на другом порту раздаю
Илья
у тебя здесь /prometheus/metrics, а должно быть /metrics
Илья
или можно настроить джобу под другой путь
Emin Zalaev
Emin Zalaev
смотри я в коде раздаю на порту 7711 метрики
Emin Zalaev
но почему он должен подключаться к приложению? на порт 8080
Илья
Emin Zalaev
оо заработали
Emin Zalaev
спасиба всем
Бузург
Ребята как мне проверить что []byte который я принимаю это json struct или файл
Бузург
?
Илья
Бузург
Да
Илья
Можно через Content-Type посмотреть
Florian Geyer von Giebelstadt
Привет. Изучал устройство мапы и не до конца понял что такое бакет. Можите подсказать что это? Как я понял бакеты - это наборы значений(максимум восемь) в которых,как раз,и хранится пара ключ-значение.
Maks
Ну мапа это ключ значение, где ключ это число или хэш какой то от ключа или от его части. И если случается коллизия, то данные будут храниться по одному ключу уже не в одном варианте а типо в нескольких. И там будет другой алгоритм использован для того что бы по ключу вытащить данные
Maks
Вроде так, поправьте если что то не то ляпнул
Serkov
Florian Geyer von Giebelstadt
Я не про само понятие мапы хотел узнать,а про конкретную часть,про бакеты(На картинке бакет - указатель на следующую часть часть мапы). Т.е. бакет содержит в себе ссылку на предыдущую часть мапы + ключ-значения от 0 до 7. Я правильно понимаю?
Florian Geyer von Giebelstadt
Serkov
Florian Geyer von Giebelstadt
Кажется понял.Спасибо
Артем
Всем добрый день, а может кто объяснить, почему если я укажу в дженерике, что строки и производные нельзя, код все равно норм отработает?
Andrey
Артем
Andrey
Артем
Лан, быканул, извиняюсь)
Артем
Sanity = nil
Muhammed
ребята подскажите пожалуйста что такое сообщество на гитхабе
Ya ne s nimi
Как мне перенаправить Code на ссылку получения access_token как в этой инструкции ? https://dev.vk.com/api/access-token/authcode-flow-user
A
Подскажите плз, в чем проблема в моем коде?
https://play.golang.com/p/1mNKJkOyMeP
Есть функция Worker, которая должна работать 5 сек, и каждую секунду писать что-то в Канал.
Сама функция возвращает Канал.
Клиентский код, должен читать этот канал и выводить данные до тех пор, пока его не закроют.
Vladislav
A
а канал наружу где?
Поясните пожалуйста? Не понимаю.
Воркер же возвращает канал, в который пишут.
Далее я пытаюсь читать из этого канала. Но безуспешно.
При попытке написать в канал, он блокируется.. хотя его пытаются читать
Vladislav
ты канал не инициализируешь, при записи в nil канал горутина паркуеццо навечно
A
A
а как быть, если например Воркер пишет в канал, но клиент его не обязан читать.
Т.е. при желании он может начать читать канал.
A
если не читать канал, то запись в него блокируется, и воркер останавливается.
Shaplin
Ребят! Почему в трассировке (opentelemetry, opentracing) применяется подход задания атрибутов с заранее определенным типом? Как пример:
span.SetAttributes(attribute.String("some_key", "some_value"))
span.SetAttributes(attribute.BoolSlice("some_key", []bool{true, false}))
1) Потому что ранее не было типа any и дженериков?
2) Или это сделали специально настолько детерминированно, чтобы не нужна была валидация полей и следовательно не возвращать ошибку?
Моя задача сделать подобную библиотеку, в которой тоже есть атрибуты различных типов.
3) Лучше ли делать как в примере или можно ухитриться с типом any и последующей валидацией? Допустим выбрасывать те поля, что не проходят валидацию.
Есть ли у кого хотя бы предположения/мысли по этому поводу?
Alexandr
Всем привет, подскажите как правильно инициализировать массив через reflect
.....
a.m=make(map[int][]any)
.....
func (a *A )Add (id int, i interface{}){
t := reflect.typeOf(i)
r := reflect.makeSlice(t,100,100)
a.m[id] =r// вот тут ошибка cannot use r (type Value) as the type []any
}
Roman
Alexandr
Можно упростить как просто в объекте объявить массив а потом инцелизировать его по переданному типу
Roman
Andrey
Matvei
Всем привет✋🏻
Вопрос по поводу докерфайла, не могу победить.
На 7-м степе ругается на пакеты
"no required module provides package"
Matvei
Matvei
Roman
Roman
Alexandr
Задачка просто по ид хранить массив объектов, но объекты могут быть любого типа, 1 тип на 1 массив
mlsn
А объекты вы откуда то получаете?
mlsn
На первый взгляд подбор типа выглядит интереснее. Что-то наподобие
'''
val, ok := i.(int)
if != ok {
// обработали
}
'''
mlsn
Субъективно конечно. На мой взгляд если задачу можно решить без рефлект то, в большинстве случаев, так и надо сделать)