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
Илья
само приложение на 8080
Думал, что метрики тоже на этом порте
Emin Zalaev
оо заработали
Emin Zalaev
спасиба всем
Бузург
Ребята как мне проверить что []byte который я принимаю это json struct или файл
Бузург
?
Бузург
Да
Илья
Можно через Content-Type посмотреть
Florian Geyer von Giebelstadt
Привет. Изучал устройство мапы и не до конца понял что такое бакет. Можите подсказать что это? Как я понял бакеты - это наборы значений(максимум восемь) в которых,как раз,и хранится пара ключ-значение.
Maks
Ну мапа это ключ значение, где ключ это число или хэш какой то от ключа или от его части. И если случается коллизия, то данные будут храниться по одному ключу уже не в одном варианте а типо в нескольких. И там будет другой алгоритм использован для того что бы по ключу вытащить данные
Maks
Вроде так, поправьте если что то не то ляпнул
Florian Geyer von Giebelstadt
Я не про само понятие мапы хотел узнать,а про конкретную часть,про бакеты(На картинке бакет - указатель на следующую часть часть мапы). Т.е. бакет содержит в себе ссылку на предыдущую часть мапы + ключ-значения от 0 до 7. Я правильно понимаю?
Florian Geyer von Giebelstadt
вот чувак отлично расписал про мапу https://habr.com/ru/post/457728/
Спасибо,почитаю,похоже там есть то что мне нужно
Florian Geyer von Giebelstadt
Кажется понял.Спасибо
Артем
Всем добрый день, а может кто объяснить, почему если я укажу в дженерике, что строки и производные нельзя, код все равно норм отработает?
Артем
Лан, быканул, извиняюсь)
Andrey
Лан, быканул, извиняюсь)
Лучше почитай про это. Ненадо их говна и палок что то понимать, и придумывать свое
Илья
Тильда разве не отрицание?
Тильда значит, что можно подставлять свои типы type MyType string
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 сек, и каждую секунду писать что-то в Канал. Сама функция возвращает Канал. Клиентский код, должен читать этот канал и выводить данные до тех пор, пока его не закроют.
A
а канал наружу где?
Поясните пожалуйста? Не понимаю. Воркер же возвращает канал, в который пишут. Далее я пытаюсь читать из этого канала. Но безуспешно. При попытке написать в канал, он блокируется.. хотя его пытаются читать
Vladislav
ты канал не инициализируешь, при записи в nil канал горутина паркуеццо навечно
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 }
Alexandr
Можно упростить как просто в объекте объявить массив а потом инцелизировать его по переданному типу
Matvei
Всем привет✋🏻 Вопрос по поводу докерфайла, не могу победить. На 7-м степе ругается на пакеты "no required module provides package"
Matvei
Matvei
Alexandr
Так а сама задача какая? Го язык не динамический
Знаю что не динамический, но вроде как появились дженерики и тип any
Alexandr
Задачка просто по ид хранить массив объектов, но объекты могут быть любого типа, 1 тип на 1 массив
mlsn
А объекты вы откуда то получаете?
mlsn
На первый взгляд подбор типа выглядит интереснее. Что-то наподобие ''' val, ok := i.(int) if != ok { // обработали } '''
mlsn
Субъективно конечно. На мой взгляд если задачу можно решить без рефлект то, в большинстве случаев, так и надо сделать)