Гость
Форумы / Caché, Ensemble, DeepSee, MiniM, IRIS, GT.M [игнор отключен] [закрыт для гостей] / Как установить Cache' Block Explorer? / 25 сообщений из 25, страница 1 из 1
30.06.2017, 08:43
    #39480109
Алексей12377
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как установить Cache' Block Explorer?
Добрый день!

Прочитал статьи про блоки Каше - очень интересно. А есть инструкция как поставить и сконфигурировать Cache Block explorer на Cache под Windows (2016.2)?

https://github.com/daimor/CacheBlocksExplorer

Спасибо.
...
Рейтинг: 0 / 0
30.06.2017, 10:38
    #39480211
Александр Коблов
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как установить Cache' Block Explorer?
Алексей12377,

Я сам не пробовал, но на закладке Releases вроде файлы для установки есть
https://github.com/daimor/CacheBlocksExplorer/releases
...
Рейтинг: 0 / 0
30.06.2017, 13:03
    #39480325
DAiMor
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как установить Cache' Block Explorer?
Алексей12377,

Как верно заметил Александр, есть релизная версия, там есть два вида установщика.
Можно установить в любую область и настроить самостоятельно. - CacheBlocksExplorer.xml

Либо с настройкой новой области приложения и всего что нужно - StandaloneInstaller.cls.xml

Если есть проблемы при установке и в работе, пиши, постараюсь исправить. У меня есть желание улучшить проект, в том числе в части поддержки разных версий Caché, но к сожалению пока не получается выделить время на это. Много параллельных проектов и так, плюс семья.
...
Рейтинг: 0 / 0
30.06.2017, 17:07
    #39480562
Блок А.Н.
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как установить Cache' Block Explorer?
DAiMor,

нет в планах функционала по определению ошибок в структуре и их исправлению?
...
Рейтинг: 0 / 0
30.06.2017, 17:47
    #39480586
DAiMor
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как установить Cache' Block Explorer?
Блок А.Н.DAiMor,

нет в планах функционала по определению ошибок в структуре и их исправлению?А чем стандартная проверка целостности не устраивает?
Автоматическое исправление ошибок наверно и можно реализовать. Но не просто, и нужна коллекция ошибок. Да и вероятность корректного исправления ошибок все таки не 100%.
...
Рейтинг: 0 / 0
30.06.2017, 20:34
    #39480678
Блок А.Н.
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как установить Cache' Block Explorer?
DAiMor,

автоматическое не стоит, наверное. А вот показать и дать исправить, думаю, можно. Но тут согласен, тяжело тестировать, нужны "эталонные" ошибки.
Стандартная не нравится тем, что не нее нет документации, кроме относительно простых ошибок поправить я, например, не смогу. Большую часть параметров типа Blnextpntlen4 и подобных я вообще не понимаю. Видел ошибки в bigstring блоках, их REPAIR вообще не дает править (благо, потом исчезли сами собой). Был случай, когда при исправлении ошибки у блока добавился дочерний узел, при редактировании и сохранении я создал еще одну ошибку. Хотелось бы при сохранении предупреждение, что блок в базе изменился (надеюсь, там есть какие-то метки, когда он был последний раз записан?). И в целом REPAIR дико неудобный, при том, что количество дочерних узлов огромное, а INTEGRIT иногда дает очень туманные описания. Приходится многостраничную выдачу REPAIR копировать в блокнот и там искать текстом.
Но я понимаю, в идеале необходимость в REPAIR должна возникать крайне редко, а писать и тестировать стороннюю утилиту для таких дел, как работа со структурой базы в некоторых случаях может быть вредно для кармы :-)
...
Рейтинг: 0 / 0
30.06.2017, 21:45
    #39480718
Блок А.Н.
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как установить Cache' Block Explorer?
Или вот, например, ситуация. INTEGRIT проверяет глобал несколько часов, я правлю ошибки, сохраняю и снова проверяю. Но мне так то не нужно проверять заново весь глобал, я же знаю, где произошла ошибка.
...
Рейтинг: 0 / 0
30.06.2017, 22:08
    #39480730
Блок А.Н.
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как установить Cache' Block Explorer?
Во, там же потыкать можно и посмотреть:

Blincversion4 - block header incremental backup version
Blpntlen4 - block header pointer length field
Blnextpntlen4 - block header next pointer length
Blnextpntvalue4 - block header Discriminator byte
Blnextpntoff - block header indicator of stored next pointer

Правда, непонятно все-таки, зачем это нормальному человеку нужно править?
А вот где поправить, например, "Next Pointer Reference", я так и не увидел. Линк правится, а вот это как нужно само не заполняется
...
Рейтинг: 0 / 0
30.06.2017, 22:12
    #39480734
Alexey Maslov
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как установить Cache' Block Explorer?
Блок А.Н.Но мне так то не нужно проверять заново весь глобал, я же знаю, где произошла ошибка.Частичные проверки (типа пройтись по указателям) позволяет делать REPAIR, а если нужна полная проверка, то всё равно будет не быстрее, чем Integrity.
...
Рейтинг: 0 / 0
30.06.2017, 22:17
    #39480740
Блок А.Н.
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как установить Cache' Block Explorer?
Alexey Maslov,

а у REPAIR разве есть функция проверки? По-моему, она как топор, что скажешь, то и отрежет. Не вижу там опций по проверке данных.
...
Рейтинг: 0 / 0
01.07.2017, 12:31
    #39480865
Alexey Maslov
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как установить Cache' Block Explorer?
Блок А.Н., можно пройтись по цепочке указателей сверху-вниз до текущего блока можно:

Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
Block # 6958             Type: 8 DATA
Link Block: 6959         Offset: 7372
Count of Nodes: 520      Collate: 37            Big String Nodes: 0
Pointer Length:33        Next Pointer Length:42  Diff Byte:Hex 22
Pointer Reference:      ^Q(1,70,"#ABAAnKp","rlss")
Next Pointer Reference: ^Q(1,70,"#ABAAnLH","rlswname>")
Next pointer stored? Yes
 
 
--more--q
 
Block Repair Function (Current Block 6958): 9 Pointer Tree
 
3 levels
Directory block: 3 => 48 => 7027 => 6958
 
Block Repair Function (Current Block 6958):

О корректности правого указателя (Link Block) утилита также предупреждает. Т.о., локальные аномалии увидеть довольно легко, а какую ещё ограниченную проверку (кроме полной) можно предложить? Integrity, кстати, позволяет проверить и отдельный глобал.
...
Рейтинг: 0 / 0
01.07.2017, 14:13
    #39480901
DAiMor
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как установить Cache' Block Explorer?
Alexey MaslovIntegrity, кстати, позволяет проверить и отдельный глобал.И не теолько отдельный глобал, а еще можно запустить с любого блока. Очень удобно когда база большая, и чтобы долго не ждать.
...
Рейтинг: 0 / 0
01.07.2017, 14:46
    #39480907
Блок А.Н.
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как установить Cache' Block Explorer?
Alexey Maslov,

Да вы прикалываетесь. В блоке может быть штук 700 ссылок. Их просто проматывать и смотреть уже нереально (я в блокнот копирую, но это убожество) В каждом блоке есть правый указатель, но если бы только он. В каждом блоке есть "первый указатель", который должен совпадать с указателем в родительском блоке. Последний указатель блока должен быть меньше в сортировке, чем последний предыдущего блока. И это только то, что при моих ограниченных знаниях сразу пришло в голову, там целая система уравнений, что с чем должно совпадать. Чтобы проверить буквально одну кривую правую ссылку, нужно зайти и посмотреть несколько блоков, причем предыдущие данные уматывает вверх, да и текущие не очень то удобно смотреть. Приходится работать в нескольких REPAIR одновременно.
...
Рейтинг: 0 / 0
01.07.2017, 14:47
    #39480908
Блок А.Н.
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как установить Cache' Block Explorer?
DAiMorа еще можно запустить с любого блока. Очень удобно когда база большая, и чтобы долго не ждать.Не видел такой опции, действительно, это было бы удобно.
...
Рейтинг: 0 / 0
01.07.2017, 14:53
    #39480912
Блок А.Н.
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как установить Cache' Block Explorer?
Alexey MaslovIntegrity, кстати, позволяет проверить и отдельный глобал.
Код: plaintext
1.
2.
3.
4.
5.
6.
 Top Pointer Level:    # of blocks=1      8kb (17% full)
 Pointer Level:        # of blocks=102      816kb (79% full)
 Bottom Pointer Level: # of blocks=54,132      422MB (79% full)
 Data Level:           # of blocks=42,378,249      331,080MB (85% full)
 Big Strings:          # of blocks=1,328      10MB (59% full) # = 1,283
 Total:                # of blocks=42,433,812      331,514MB (85% full)
 Elapsed Time = 14083.7 seconds 17:21:08

Не всегда помогает :-)
...
Рейтинг: 0 / 0
01.07.2017, 15:57
    #39480922
DAiMor
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как установить Cache' Block Explorer?
Блок А.Н.DAiMorа еще можно запустить с любого блока. Очень удобно когда база большая, и чтобы долго не ждать.Не видел такой опции, действительно, это было бы удобно.Ну это не то чтобы опция, просто исходники то открыты, и можно найти место для этого.
...
Рейтинг: 0 / 0
01.07.2017, 23:26
    #39480994
Alexey Maslov
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как установить Cache' Block Explorer?
Блок А.Н.Да вы прикалываетесь. В блоке может быть штук 700 ссылокНе более, чем вы: едва ли кто-то возьмётся править несколько сотен ошибок :)

Ошибки в 99% случаев затрагивают блоки данных, и закончив правку блока данных, я нередко смотрел Pointer Tree. Полной проверки, понятное дело, это не заменяет, но грубую ошибку заметить можно.
...
Рейтинг: 0 / 0
02.07.2017, 12:47
    #39481136
Блок А.Н.
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как установить Cache' Block Explorer?
Alexey Maslov,

Эм. У меня pointer tree показывает всего лишь цепочку родительских блоков, а не все дерево.
...
Рейтинг: 0 / 0
03.07.2017, 11:50
    #39481589
Alexey Maslov
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как установить Cache' Block Explorer?
Блок А.Н.,

Верно, поэтому полезность сей опции - в основном контроль родительской цепочки после правки блока данных.

Наверное, было бы интереснее, если бы она показывала ещё и две цепочки до соседних блоков, которые тоже обычно бывают затронуты правкой.

По воспоминаниям, самые большие неприятности мне доставила REPAIR в Cache 2010.1 (?), когда она сама вдруг вылетела по ошибке. Хорошо, что базы были тогда не очень большие, так что относительно быстро перетащили БД в более свежую версию Cache, где REPAIR по крайней мере не вылетала. Дело давнее, подробностей уже не помню.
...
Рейтинг: 0 / 0
15.01.2018, 13:32
    #39584383
vcoshak
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как установить Cache' Block Explorer?
DAiMor,
пытаюсь установить StandaloneInstaller.cls.xml . Создаётся Namespace BLOCKS с классами Blocks.Router и Blocks.WebSocket но выдаются ошибки компиляции:
Код: c#
1.
Blocks.Router.cls(DBList+23) #1011: Invalid name : 'dblist.$toJSONFormat()' : Offset:18 [zDBList+20^Blocks.Router.1]

и
Код: c#
1.
Blocks.WebSocket.cls(Server+22) #1033: Expected literal : 'response={"event": event,' : Offset:43 [zServer+20^Blocks.WebSocket.1]


Используется Cache for Windows (x86-64) 2017.1 (Build 792U).

В чём может быть проблема?
Спасибо.
...
Рейтинг: 0 / 0
15.01.2018, 13:53
    #39584407
DAiMor
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как установить Cache' Block Explorer?
vcoshak,

Да, к сожалению пока не было времени вплотную занятся проектом. И он немного устарел. Данный релиз подходит только для версии 2016.1. И ни для каких других.
Для новых версий я релиз пока не сделал, но код уже есть, правда не все корректно работает
если знаком с докер, то сейчас подготовлено уже рабочая среда для тестирования
нужна лицензия Cache под Linux, файл лицензии должен быть скопирован в переменную CACHE_KEY. Без лицензии, думаю что работать не сможет.
используются порты 80, 57772, 1972
если нужно порты поменять, то нужно объявить переменные
Код: plaintext
1.
2.
3.
CACHE_WEBPORT=57772
CACHE_PORT=1972
WEB_PORT=80
все переменные можно объявить в системе, либо в папке проекта рядом с файлом docker-compose.yml в файле ".env"
версию Cache тоже можно выбрать через переменную
Код: plaintext
CACHE_VERSION=2017.2
доступные версии : 2016.2, 2017.1, 2017.2, есть и ранние но только на этих версиях сможет сейчас работать
клонировать последнюю версию из репозитория, перейти в папку проекта и запустить docker сервисы (бекенд и фронтенд), запуск займет некоторое время, требуется доступ к интернету, для загрузки всего необходимого
Код: plaintext
1.
2.
3.
git clone  https://github.com/daimor/CacheBlocksExplorer.git 
cd CacheBlocksExplorer
docker-compose up -d

после этих команд, запустится Cache2017.2 и фронтенд отдельно
должен быть доступен по адресу http://localhost/
...
Рейтинг: 0 / 0
15.01.2018, 14:45
    #39584453
vcoshak
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как установить Cache' Block Explorer?
DAiMor,
спасибо, но с докер не знаком и лицензии Cache под Linux пока нет - попробую ваше предложение позже.

Сейчас же мне нужно решить конкретную задачку (см. ниже) и я думал, что этот проект мне поможет.
Не подскажете, так ли это?

Задача: у заказчика быстро растёт глобаль ^CacheTemp<XYZ>, который используют более сотни рутин для сортировки.
Нужно определить, какая рутина "забывает" почистить глобаль после использования.
Была идея, что если обходом глобаля найти узлы, имеющие большой размер и/или растущие быстро, то по структуре узла можно найти рутину.
Поможет ли мне в этом Cache Block explorer?

Сначала попробовал ваш код Растет БД CACHETEMP , но он у меня навскидку не заработал.
Есть ли другие более-менее готовые решения?
...
Рейтинг: 0 / 0
15.01.2018, 16:28
    #39584574
Alexey Maslov
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как установить Cache' Block Explorer?
vcoshak ,

[полу]готовое решение - функция $$AllocatedSize^%GSIZE(GlobalName). Она принимает и подглобалы, поэтому, используя $order(), можно пройти по первому уровню проблемного глобала, узнать размеры каждого подглобала первого уровня, таким образом, найдёте самый большой; он же обычно и самый быстрорастущий, так что изучать динамику роста, возможно, не придётся. Если первого уровня окажется недостаточно, углубляетесь на второй уровень.
...
Рейтинг: 0 / 0
15.01.2018, 16:38
    #39584583
DAiMor
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как установить Cache' Block Explorer?
vcoshak,

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

Немного подправил тот код, выложил в GithubGist . Проверял на 2017.2
...
Рейтинг: 0 / 0
16.01.2018, 15:11
    #39585171
vcoshak
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как установить Cache' Block Explorer?
DAiMor,
Спасибо.
...
Рейтинг: 0 / 0
Форумы / Caché, Ensemble, DeepSee, MiniM, IRIS, GT.M [игнор отключен] [закрыт для гостей] / Как установить Cache' Block Explorer? / 25 сообщений из 25, страница 1 из 1
Целевая тема:
Создать новую тему:
Автор:
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]