9393#include < ydb/core/mind/tenant_slot_broker.h>
9494#include < ydb/core/mind/tenant_node_enumeration.h>
9595#include < ydb/core/mind/node_broker.h>
96+ #include < ydb/core/mon_alloc/monitor.h>
9697#include < ydb/core/kesus/tablet/events.h>
9798#include < ydb/core/sys_view/service/sysview_service.h>
9899#include < yql/essentials/minikql/mkql_function_registry.h>
@@ -610,18 +611,21 @@ namespace Tests {
610611
611612 NKikimrBlobStorage::TDefineBox boxConfig;
612613 boxConfig.SetBoxId (Settings->BOX_ID );
614+ boxConfig.SetItemConfigGeneration (Settings->StorageGeneration );
613615
614616 ui32 nodeId = Runtime->GetNodeId (0 );
615617 Y_ABORT_UNLESS (nodesInfo->Nodes [0 ].NodeId == nodeId);
616618 auto & nodeInfo = nodesInfo->Nodes [0 ];
617619
618620 NKikimrBlobStorage::TDefineHostConfig hostConfig;
619621 hostConfig.SetHostConfigId (nodeId);
622+ hostConfig.SetItemConfigGeneration (Settings->StorageGeneration );
620623 TString path;
621624 if (Settings->UseSectorMap ) {
622625 path =" SectorMap:test-client[:2000]" ;
623626 } else {
624- path = TStringBuilder () << Runtime->GetTempDir () << " pdisk_1.dat" ;
627+ TString diskPath = Settings->CustomDiskParams .DiskPath ;
628+ path = TStringBuilder () << (diskPath ? diskPath : Runtime->GetTempDir ()) << " pdisk_1.dat" ;
625629 }
626630 hostConfig.AddDrive ()->SetPath (path);
627631 if (Settings->Verbose ) {
@@ -637,7 +641,9 @@ namespace Tests {
637641
638642 for (const auto & [poolKind, storagePool] : Settings->StoragePoolTypes ) {
639643 if (storagePool.GetNumGroups () > 0 ) {
640- bsConfigureRequest->Record .MutableRequest ()->AddCommand ()->MutableDefineStoragePool ()->CopyFrom (storagePool);
644+ auto * command = bsConfigureRequest->Record .MutableRequest ()->AddCommand ()->MutableDefineStoragePool ();
645+ command->CopyFrom (storagePool);
646+ command->SetItemConfigGeneration (Settings->StorageGeneration );
641647 }
642648 }
643649
@@ -1071,6 +1077,28 @@ namespace Tests {
10711077 }
10721078 }
10731079
1080+ {
1081+ if (Settings->NeedStatsCollectors ) {
1082+ TString filePathPrefix;
1083+ if (Settings->AppConfig ->HasMonitoringConfig ()) {
1084+ filePathPrefix = Settings->AppConfig ->GetMonitoringConfig ().GetMemAllocDumpPathPrefix ();
1085+ }
1086+
1087+ const TIntrusivePtr<NMemory::IProcessMemoryInfoProvider> processMemoryInfoProvider (MakeIntrusive<NMemory::TProcessMemoryInfoProvider>());
1088+
1089+ IActor* monitorActor = CreateMemProfMonitor (TDuration::Seconds (1 ), processMemoryInfoProvider,
1090+ Runtime->GetAppData (nodeIdx).Counters , filePathPrefix);
1091+ const TActorId monitorActorId = Runtime->Register (monitorActor, nodeIdx, Runtime->GetAppData (nodeIdx).BatchPoolId );
1092+ Runtime->RegisterService (MakeMemProfMonitorID (Runtime->GetNodeId (nodeIdx)), monitorActorId, nodeIdx);
1093+
1094+ IActor* controllerActor = NMemory::CreateMemoryController (TDuration::Seconds (1 ), processMemoryInfoProvider,
1095+ Settings->AppConfig ->GetMemoryControllerConfig (), NKikimrConfigHelpers::CreateMemoryControllerResourceBrokerConfig (*Settings->AppConfig ),
1096+ Runtime->GetAppData (nodeIdx).Counters );
1097+ const TActorId controllerActorId = Runtime->Register (controllerActor, nodeIdx, Runtime->GetAppData (nodeIdx).BatchPoolId );
1098+ Runtime->RegisterService (NMemory::MakeMemoryControllerId (0 ), controllerActorId, nodeIdx);
1099+ }
1100+ }
1101+
10741102 {
10751103 IActor* kesusService = NKesus::CreateKesusProxyService ();
10761104 TActorId kesusServiceId = Runtime->Register (kesusService, nodeIdx, userPoolId);
0 commit comments