RM
Index - это такой же Collector, только захватывающий несколько сфер (реквест, респонс, прочее).
Создаем новый IndexCollector, в котором будет вся логика по сборам, не тянем себе Request/Response Collector'ы
В любой Storage можно будет прокинуть его несколькими путями:
1. Через новый метод addIndexCollector.
Нужно будет сделать отдельный IndexCollectorInterface, чтобы не подсовывали любой другой.
По завершению работы делаем сохранение основной кучи данных, потом кучи из индекса.
2. Через старый метод addCollector.
Нужно будет сделать интерфейс-маркер, в какую "пачку" сохранять данные из коллектора. Будет основной CommonDataBatch (или без него) и IndexDataBatch, с методами getName - название файла/таблицы/документа, где будут храниться данные.
По завершению работы делаем сохранение данных, группируя их по файлам.
Что скажешь?
Мне нравится 2-й вариант.