| Hi,
It would appear to me that the storageworks devices NEVER send a newline
character, consequently, we never timestamp the data we receive, as a
result, you only ever get one record in the log file and as you have seen,
this record is rather large (415,347 to 600,000).
Converting or setting file attributes the file will screw everything up
as the .LOG, .TIMES and .EVENT files are delicately interlinked.
Now as you determined, most of the output is escape sequences, I dont see
how you expect EXTRACT to produce anything of use in this situation.
To answer your questions...
>>- Does PCM insert any record termination if none has been "seen"
>> - for example, I believe VCS would add record termination after 132
>> characters if there was no termination within those 132 characters...
No, we would consider that a corruption of the data stream, after all,
what would happen if we put our artificial terminator in the middle of
an escape sequence!!
>>- Has anyone seen behavior similar to this, and if so what approaches
>> were taken to address it.
You get a simnilar result when trying to manage LPS20's using the
LPS$CONSOLE utility. I normally recommend that logging is turned off for
these systems. Turning logging of doesnt preclude the detection of events
though, however, context for any detected events will not be available.
>>- Does anyone have any insight to the CLARION storageworks entity?
Nope, sorry.
Cheers,
Phil
|
| The following is a C program written to read a character at a time
and write it to the terminal. This is useful for a file like what
is described in .0...
This is included here since it may be useful to others...
The comments assume the following is extracted to a file called
PCM_EXTRTACT.C
Rod Barela
John Becker
/* This code read any file extracted by PCM and dumps the data to the terminal.
This is useful when the extracted data contains escape sequences, or the
file has records too large to print because no carriage return was received.
The most common occurance of this is when the output is from an application
that uses screen formating calls (ie escape sequences) and never issues
a <cr>. If the PCM records this node's console data long enough, the PCM
logfile records may exceed 32767 bytes. The extracted data will also be
too long for standard dcl command like TYPE or EDIT to use.
This code prompts for the file name and prints the data.
To compile, enter
VMS 6.0: $CC/LIST/MACHINE PCM_EXTRACT,SYS$INPUT/OPT
SYS$SHARE:VAXCRTL.EXE/SHARE <ctrl-z>
VMS 6.1 $CC/DECC/STANARD=VAXC/LIST/MACHINE PCM_EXTRACT
To link, enter
$LINK PCM_EXTRACT
*/
#include <stdio.h>
#include <string.h>
int main(void);
int main(void)
{
int status=0, done=0, byte=0, i;
FILE fpointer;
char file_name[128];
/* ask user for the file name we need to print out */
printf("Please enter the name of the file to print out \n\n");
printf("Enter file name> ");
scanf("%s",&file_name);
printf("\n\n");
/* upcase the name and make it look pretty for error reporting */
for (i=0;i<strlen(file_name);i++)
{
file_name[i] = toupper(file_name[i]);
}
/* open the file for read only */
fpointer = fopen(file_name, "r");
/* report any problems with the open */
if (fpointer == NULL)
{
printf("\n\nFailed to open the extract file. Please confirm the file\n\n");
printf(" ");
printf("%s\n", &file_name);
printf("\nexists and the protection allows world read access. Then rerun the program.\n");
return(1);
}
/* ok, now read each byte of the file and output to the terminal.
"do" while we have not seen the eof marker */
do
{
byte = fgetc(fpointer);
if (byte == -1)
{
done = 1;
}
printf("%c",byte);
}while (done != 1);
/* all done, close the file */
fclose(fpointer);
}
|