Skip to content

Commit 0b0e286

Browse files
committed
DiskIO: support --diskio-name-prefix
1 parent b213047 commit 0b0e286

File tree

8 files changed

+34
-4
lines changed

8 files changed

+34
-4
lines changed

src/common/commandoption.c

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -60,6 +60,9 @@ void ffPrepareCommandOption(FFdata* data)
6060
if(ffStrbufContainIgnCaseS(&data->structure, FF_CPUUSAGE_MODULE_NAME))
6161
ffPrepareCPUUsage();
6262

63+
if(ffStrbufContainIgnCaseS(&data->structure, FF_DISKIO_MODULE_NAME))
64+
ffPrepareDiskIO(&instance.config.diskIo);
65+
6366
if(ffStrbufContainIgnCaseS(&data->structure, FF_NETIO_MODULE_NAME))
6467
ffPrepareNetIO(&instance.config.netIo);
6568

src/common/init.c

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -93,7 +93,7 @@ static void defaultConfig(void)
9393
ffInitDEOptions(&instance.config.de);
9494
ffInitDateTimeOptions(&instance.config.dateTime);
9595
ffInitDiskOptions(&instance.config.disk);
96-
ffInitDiskIOOptions(&instance.config.diskio);
96+
ffInitDiskIOOptions(&instance.config.diskIo);
9797
ffInitDisplayOptions(&instance.config.display);
9898
ffInitFontOptions(&instance.config.font);
9999
ffInitGPUOptions(&instance.config.gpu);
@@ -308,7 +308,7 @@ static void destroyConfig(void)
308308
ffDestroyDEOptions(&instance.config.de);
309309
ffDestroyDateTimeOptions(&instance.config.dateTime);
310310
ffDestroyDiskOptions(&instance.config.disk);
311-
ffDestroyDiskIOOptions(&instance.config.diskio);
311+
ffDestroyDiskIOOptions(&instance.config.diskIo);
312312
ffDestroyDisplayOptions(&instance.config.display);
313313
ffDestroyFontOptions(&instance.config.font);
314314
ffDestroyGPUOptions(&instance.config.gpu);

src/common/jsonconfig.c

Lines changed: 8 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -112,6 +112,14 @@ static void prepareModuleJsonObject(const char* type, yyjson_val* module)
112112
ffPrepareCPUUsage();
113113
break;
114114
}
115+
case 'd': case 'D': {
116+
if (ffStrEqualsIgnCase(type, FF_DISKIO_MODULE_NAME))
117+
{
118+
if (module) ffParseDiskIOJsonObject(&cfg->diskIo, module);
119+
ffPrepareDiskIO(&cfg->diskIo);
120+
}
121+
break;
122+
}
115123
case 'n': case 'N': {
116124
if (ffStrEqualsIgnCase(type, FF_NETIO_MODULE_NAME))
117125
{

src/common/modules.c

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -30,7 +30,7 @@ static FFModuleBaseInfo* D[] = {
3030
(void*) &instance.config.de,
3131
(void*) &instance.config.display,
3232
(void*) &instance.config.disk,
33-
(void*) &instance.config.diskio,
33+
(void*) &instance.config.diskIo,
3434
NULL,
3535
};
3636

src/detection/diskio/diskio_apple.c

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -30,6 +30,9 @@ const char* ffDiskIOGetIoCounters(FFlist* result, FFDiskIOOptions* options)
3030
if (IORegistryEntryGetName(registryEntry, deviceName) != KERN_SUCCESS)
3131
continue;
3232

33+
if (options->namePrefix.length && strncmp(deviceName, options->namePrefix.chars, options->namePrefix.length) != 0)
34+
continue;
35+
3336
FF_IOOBJECT_AUTO_RELEASE io_registry_entry_t entryDriver = 0;
3437
if (IORegistryEntryGetParentEntry(entryPartition, kIOServicePlane, &entryDriver) != KERN_SUCCESS)
3538
continue;

src/detection/diskio/diskio_linux.c

Lines changed: 8 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -82,6 +82,14 @@ const char* ffDiskIOGetIoCounters(FFlist* result, FFDiskIOOptions* options)
8282
}
8383
ffStrbufReplaceAllC(&device->name, '_', ' ');
8484

85+
if (options->namePrefix.length && !ffStrbufStartsWith(&device->name, &options->namePrefix))
86+
{
87+
ffStrbufDestroy(&device->name);
88+
ffStrbufDestroy(&device->type);
89+
result->length--;
90+
continue;
91+
}
92+
8593
ffStrbufInitS(&device->devPath, pathDev1);
8694
device->bytesRead = sectorRead * 512;
8795
device->bytesWritten = sectorWritten * 512;

src/detection/diskio/diskio_windows.c

Lines changed: 8 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -45,6 +45,14 @@ const char* ffDiskIOGetIoCounters(FFlist* result, FFDiskIOOptions* options)
4545
else
4646
ffStrbufSetWS(&device->name, szDevice);
4747

48+
if (options->namePrefix.length && !ffStrbufStartsWith(&device->name, &options->namePrefix))
49+
{
50+
ffStrbufDestroy(&device->name);
51+
ffStrbufDestroy(&device->type);
52+
result->length--;
53+
continue;
54+
}
55+
4856
ffStrbufInitWS(&device->devPath, szDevice);
4957
device->bytesRead = (uint64_t) diskPerformance.BytesRead.QuadPart;
5058
device->readCount = (uint64_t) diskPerformance.ReadCount;

src/fastfetch.h

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -99,7 +99,7 @@ typedef struct FFconfig
9999
FFDEOptions de;
100100
FFDateTimeOptions dateTime;
101101
FFDiskOptions disk;
102-
FFDiskIOOptions diskio;
102+
FFDiskIOOptions diskIo;
103103
FFDisplayOptions display;
104104
FFFontOptions font;
105105
FFGPUOptions gpu;

0 commit comments

Comments
 (0)