10-18-2014
Quote:
Originally Posted by
jim mcnamara
This may sound obvious, but consider traceroute. A 20+ second delay almost surely indicates a grossly overloaded system, somewhere in the path from A to B. You cannot do much about it until you locate it. Ignore my suggestion if you are routing over lots of DSL lines, in which case you are stuck.
We had remote printers on the other side of DSL lines from their print servers. Printing was painfully slow. Created local remote print servers, the problem went away.
hi jim, thanks. yes i have requested traceroute restriction to be lifted so we can troubleshoot this problem. I have no say over network security. the productions VMs are running in a cloud platform hence I don't think there are DSL lines involved.
10 More Discussions You Might Find Interesting
1. UNIX for Advanced & Expert Users
I'm a DBA so no abuse please! I've for 5 Oracle Forms processes that are spinning and am trying to find out if they're doing anything:
Running HPUX 11.11
CPU TTY PID USERNAME PRI NI SIZE RES STATE TIME %WCPU %CPU COMMAND
9 ? 2735 oracle 241 20 24228K 16668K run 2607:29 84.92... (2 Replies)
Discussion started by: fraze
2 Replies
2. UNIX for Advanced & Expert Users
Hi,
We keep getting hanging Oracle process for our ETL. The dba's asked me to do o truss. All I see is pages and pages of the following,:cool:
pollsys(0xFFFFFFFF7FFF38C8, 1, 0xFFFFFFFF7FFF3800, 0x00000000) = 0
pollsys(0xFFFFFFFF7FFF38C8, 1, 0xFFFFFFFF7FFF3800, 0x00000000) = 0... (0 Replies)
Discussion started by: happyadm
0 Replies
3. Shell Programming and Scripting
Hi all,
while trying to debug and figure out why a lofiadm command was not working on my script, i came across a cmd called "truss"
all i know about it is that it executes the specified command and produces a trace of the system calls it performs, the signals it receives, and the machine faults... (5 Replies)
Discussion started by: wrapster
5 Replies
4. Shell Programming and Scripting
Hi
I have to get redirect the truss ouput to file.
I am doing truss -p 12121 >> output.txt
But it still displays on the screen adn output.txt is empty
Can some help how to do this?
Thanks in advance
Ammu (1 Reply)
Discussion started by: ammu
1 Replies
5. Shell Programming and Scripting
i have to gather some info about a process and redirect it to a1.txt file. For this i m using truss command
truss -po a1.txt $PID_Detail
where $PID_Detail= 1482944 3362976
--------------------------------------------------------------------------
Below the script:
#!/bin/ksh
for i... (6 Replies)
Discussion started by: ali560045
6 Replies
6. AIX
On my VIo I see the following for my disks:
$ lspath | grep hdisk6
Enabled hdisk6 fscsi0 200600a0b82193f7,4000000000000
Enabled hdisk6 fscsi0 200700a0b82193f7,4000000000000
Enabled hdisk6 fscsi2 200600a0b82193f8,4000000000000
Failed hdisk6 fscsi2 200700a0b82193f8,4000000000000
$ lspath |... (8 Replies)
Discussion started by: petervg
8 Replies
7. AIX
Hello,
I'm using AIX 5.3.12.5 and trying to understand truss output.
I'm running a job with real time of 16 minutes but only 4 minutes of CPU time. I'm trying to understand what the process is doing.
I'm getting a lot of
kread,
kpread,
kwrite,
kpwrite...
localhost:~ x$ grep... (1 Reply)
Discussion started by: Kovacs
1 Replies
8. UNIX for Dummies Questions & Answers
Hi,
I want to trace a background java program which runs in infinite loop. I have used truss command for this.
But the program terminated after some hours with below truss output:
Received signal #1, SIGHUP, in lwp_cond_wait()
/1: siginfo: SIG#0
Please let me know what... (0 Replies)
Discussion started by: Hara Prasad
0 Replies
9. UNIX for Advanced & Expert Users
Hi,
I want to trace a background java program which runs in infinite loop. I have used truss command for this.
But the program terminated after some hours with below truss output:
Received signal #1, SIGHUP, in lwp_cond_wait()
/1: siginfo: SIG#0
Please let me know what... (5 Replies)
Discussion started by: Hara Prasad
5 Replies
10. UNIX for Advanced & Expert Users
Hi,
I am trying to set ulimit for soft stack unlimited, but this is not taking effect, after tracing the ulimit -a unlimited command, the below output was generated, which i am unable to comprehend. Could any one help me with this?
prcbap1-r10prod: truss -d ulimit -s unlimited
Tue Dec 30... (2 Replies)
Discussion started by: NasirAbbasi
2 Replies
LEARN ABOUT DEBIAN
plack::builder
Plack::Builder(3pm) User Contributed Perl Documentation Plack::Builder(3pm)
NAME
Plack::Builder - OO and DSL to enable Plack Middlewares
SYNOPSIS
# in .psgi
use Plack::Builder;
my $app = sub { ... };
builder {
enable "Deflater";
enable "Session", store => "File";
enable "Debug", panels => [ qw(DBITrace Memory Timer) ];
enable "+My::Plack::Middleware";
$app;
};
# use URLMap
builder {
mount "/foo" => builder {
enable "Foo";
$app;
};
mount "/bar" => $app2;
mount "http://example.com/" => builder { $app3 };
};
# using OO interface
my $builder = Plack::Builder->new();
$builder->add_middleware('Foo', opt => 1);
$app = $builder->mount('/app' => $app);
$app = $builder->to_app($app);
DESCRIPTION
Plack::Builder gives you a quick domain specific language (DSL) to wrap your application with Plack::Middleware subclasses. The middleware
you're trying to use should use Plack::Middleware as a base class to use this DSL, inspired by Rack::Builder.
Whenever you call "enable" on any middleware, the middleware app is pushed to the stack inside the builder, and then reversed when it
actually creates a wrapped application handler. "Plack::Middleware::" is added as a prefix by default. So:
builder {
enable "Foo";
enable "Bar", opt => "val";
$app;
};
is syntactically equal to:
$app = Plack::Middleware::Bar->wrap($app, opt => "val");
$app = Plack::Middleware::Foo->wrap($app);
In other words, you're supposed to "enable" middleware from outer to inner.
INLINE MIDDLEWARE
Plack::Builder allows you to code middleware inline using a nested code reference.
If the first argument to "enable" is a code reference, it will be passed an $app and is supposed to return another code reference which is
PSGI application that consumes $env in runtime. So:
builder {
enable sub {
my $app = shift;
sub {
my $env = shift;
# do preprocessing
my $res = $app->($env);
# do postprocessing
return $res;
};
};
$app;
};
is equal to:
my $mw = sub {
my $app = shift;
sub { my $env = shift; $app->($env) };
};
$app = $mw->($app);
URLMap support
Plack::Builder has a native support for Plack::App::URLMap with "mount" method.
use Plack::Builder;
my $app = builder {
mount "/foo" => $app1;
mount "/bar" => builder {
enable "Foo";
$app2;
};
};
See Plack::App::URLMap's "map" method to see what they mean. With builder you can't use "map" as a DSL, for the obvious reason :)
NOTE: Once you use "mount" in your builder code, you have to use "mount" for all the paths, including the root path ("/"). You can't have
the default app in the last line of "builder" like:
my $app = sub {
my $env = shift;
...
};
builder {
mount "/foo" => sub { ... };
$app; # THIS DOESN'T WORK
};
You'll get warnings saying that your mount configuration will be ignored. Instead you should use "mount "/" => ..." in the last line to set
the default fallback app.
builder {
mount "/foo" => sub { ... };
mount "/" => $app;
}
Note that the "builder" DSL returns a whole new PSGI application, which means
o "builder { ... }" should normally the last statement of a ".psgi" file, because the return value of "builder" is the application that
actually is executed.
o You can nest your "builder" block, mixed with "mount" (see URLMap support above):
builder {
mount "/foo" => builder {
mount "/bar" => $app;
}
}
will locate the $app under "/foo/bar" since the inner "builder" block puts it under "/bar" and it results a new PSGI application which
is located under "/foo" because of the outer "builder" block.
CONDITIONAL MIDDLEWARE SUPPORT
You can use "enable_if" to conditionally enable middleware based on the runtime environment. See Plack::Middleware::Conditional for
details.
SEE ALSO
Plack::Middleware Plack::App::URLMap Plack::Middleware::Conditional
perl v5.14.2 2012-05-17 Plack::Builder(3pm)