IWETHEY v. 0.3.0 | TODO
1,095 registered users | 0 active users | 0 LpH | Statistics
Login | Create New User
IWETHEY Banner

Welcome to IWETHEY!

New Has anyone heard of a tool like this?
I'm hoping to avoid some work on my part. (I suggested it, the dbas want it, so by default I'll wind up building it if it doesn't exist...)

First some background. You have an application, for instance a website, that runs against Oracle. The DBAs can turn on, per Oracle connection, detailed logging. They do NOT want to turn on detailed logging on the whole site (the database would turn into a smoking hole in the ground), but doing it for one connection at a time is fine. The logfile is in a very detailed but documented format which a variety of standard tools know how to read and give interesting figures on.

We want to do something non-standard.

In our application each Oracle connection is used for one page at a time. The idea is that if we issue a silly command like SELECT :1 AS PAGE_START FROM DUAL at the start of each page and then SELECT NULL AS PAGE_END FROM DUAL at the end of each page, then we could parse the log and get detailed information per page. Here is some of the information that we might want to get:

  • What database events are users actually waiting on? (Statspack gives aggregate statistics for waits, but that doesn't differentiate between things that users waited on and things that background Oracle processes waited on. Logfile sync, for instance, is a big wait event but users don't notice it.)

  • How long are specific pages taking to return? Where is that time going?

  • When certain pages ran slower than normal, what database events were they bottlenecked on? (We sometimes get reports that things are slow, and then later that they are fast, and we have no idea what changed. Aggregate statistics don't help pinpoint that, and by the time the report gets to us the problem is usually long gone.)

  • Which pages happen to hold locks for long times? (We can tell now when pages are blocked for long times, but we have no tools to figure out what did the blocking.)


I'm sure that if I build it, people will dream up other things that they might want to know once there is a way to get detailed information like this. (For instance as application developers we might ask what fraction of the time caches avoided the database, and where we spend lots of time in the application between queries.)

I'm sure that if someone else has built it, it would save me a lot of work and they are likely to have thought of things that you can get from a tool like this that we'll take a while to figure out. (They'll also have thought about how to present the data, which I haven't.)

As for starting points, I've seen Oracle::Trace on CPAN. According to the author it doesn't handle accounting for recursive queries properly. That doesn't sound like a major problem from my perspective.

Cheers,
Ben
I have come to believe that idealism without discipline is a quick road to disaster, while discipline without idealism is pointless. -- Aaron Ward (my brother)
New Im confused
each page has its own thread, thr dba's can turn on debug for each thread, what does your process want to do that the other cannot?
thanx,
bill
All tribal myths are true, for a given value of "true" Terry Pratchett
[link|http://boxleys.blogspot.com/|http://boxleys.blogspot.com/]

Any opinions expressed by me are mine alone, posted from my home computer, on my own time as a free american and do not reflect the opinions of any person or company that I have had professional relations with in the past 48 years. meep
questions, help? [link|mailto:pappas@catholic.org|email pappas at catholic.org]
New Explanation
Each database connection is reused for many different pages. (One at a time, sequentially.) DBAs can turn on logging per database connection. The logs give very detailed information. Too much to hope to read by hand.

Standard tools exist for extracting aggregate information out of the log. They tell you things like, "Which queries used the most CPU in this time period?" They give insight at the level of individual SQL statements, not at the level of application performance. For instance if a particular query is executed very often, they have no clue about whether that query is on a frequently accessed page (reasonable) or is on a less often accessed page that happens to call it a ton of times (might be something to improve). Or if a particular query is usually fast but sometimes is very slow, you'll just see a moderate average and not see the evidence that sometimes it is bad, and that this tends to happen when a particular cron job runs.

There exist other tools to collect aggregate information about the database without logging each connection. Correlating what this says with application performance is even more of a crapshoot.

I'm talking about a tool that addresses that. It looks for hints from the application about when it starts/stops producing a page, and then extracts a picture of what causes perceived application performance. And extracts it in a form that can be related to what everyone else talks about.

Cheers,
Ben
I have come to believe that idealism without discipline is a quick road to disaster, while discipline without idealism is pointless. -- Aaron Ward (my brother)
New well that can be hand carved
log when a page is requested with a timestamp then another when it is delivered. Cant think of any off the shelf stuff,the portal products usually have that built in.
thanx,
bill
All tribal myths are true, for a given value of "true" Terry Pratchett
[link|http://boxleys.blogspot.com/|http://boxleys.blogspot.com/]

Any opinions expressed by me are mine alone, posted from my home computer, on my own time as a free american and do not reflect the opinions of any person or company that I have had professional relations with in the past 48 years. meep
questions, help? [link|mailto:pappas@catholic.org|email pappas at catholic.org]
New That's a useless response
What you're talking about hand-carving does not give a detailed profile of what is happening in the database.

As for the portal tools, I haven't investigated, but I would be surprised if they came with the same kind of profiling that I'm talking about. Certainly if they do it with Oracle they are only going to get some of that information if they tightly integrate with Oracle. (eg When are locks held, what database events are you waiting on.) And they can't turn this on by default because if they do and hit load, the database will melt.

Regards,
Ben
I have come to believe that idealism without discipline is a quick road to disaster, while discipline without idealism is pointless. -- Aaron Ward (my brother)
New Sounds like you are hand carving it
You have a mixture of requirements that will provide a competitive advantage to a high volume web site. Which means the chance of finding it for free are kind of small.

I know my company would be upset if I developed a tool from scratch like you are describing and then I open sourced it.
New I may have to...
For the record, I was not just interested in free tools. I think we'd be willing to pay for something like this. Particularly if that got us a tool that thought of things I haven't and that saves me time.

Anyways I'm going ahead and trying to figure out how to build it, and what interface to use to present information.

Cheers,
Ben
I have come to believe that idealism without discipline is a quick road to disaster, while discipline without idealism is pointless. -- Aaron Ward (my brother)
New Seems it does not meet the commercial x-over requirement
Too small a market to justify a marketing expense, too painful to write for you own commercial self-interest to give it away.

Before there was free software, there were a LOT of share-ware apps that people who make a little bit of money with. A few people got rich, but most people got enough to go out to dinner occasionally.

GPL apps show up, do 95% of everything share-ware did for free, which means the remaining 5% got lost in all the noise.
New Point
I have come to believe that idealism without discipline is a quick road to disaster, while discipline without idealism is pointless. -- Aaron Ward (my brother)
New spotted a book while looking for something else
[link|http://www.rampant-books.com/book_2003_1_perf.htm|http://www.rampant-b...k_2003_1_perf.htm]
In another example, he introduces the new view V$Sql_Plan Statistics, and illustrates a way to obtain the exact statistics for each step in the execution plan for all SQL executed on the instance.
at 19.95 might be worth it.
thanx,
bill
All tribal myths are true, for a given value of "true" Terry Pratchett
[link|http://boxleys.blogspot.com/|http://boxleys.blogspot.com/]

Any opinions expressed by me are mine alone, posted from my home computer, on my own time as a free american and do not reflect the opinions of any person or company that I have had professional relations with in the past 48 years. meep
questions, help? [link|mailto:pappas@catholic.org|email pappas at catholic.org]
New I assume that our DBAs know that stuff...
I have come to believe that idealism without discipline is a quick road to disaster, while discipline without idealism is pointless. -- Aaron Ward (my brother)
New Don't.
New I've seen the books on their desks...
I've seen them refer to them upon need. I see signs that they are ongoing training. They seem to talk intelligently about what is happening in the database. What they say fits what I know. When there are problems, they seem to be able to troubleshoot them successfully. When application people want to learn more about how Oracle works, they happily recommend books that seem to have lots of good information.

OK, this applies to some of the DBAs. Some are obviously less competent than others, but the one that this project would be for fits the above description very well.

I lack the knowledge to tell more than that. It would take considerable effort for me to learn enough to really test whether they know what they are doing. I have other responsibilities.

I have read a couple of the books that they recommend though. And judging from what I learned there, they seem to be doing the kinds of things that they should be doing.

Beyond that, as long as I don't want to become a DBA myself, I have to assume. This assumption seems reasonable to me.

Cheers,
Ben
I have come to believe that idealism without discipline is a quick road to disaster, while discipline without idealism is pointless. -- Aaron Ward (my brother)
New Our new DBA starts next week
Has a PHD in some area of bioscience.

He decided lab work was boring, and his buddy told him he'd make a great DBA, and the pay was a LOT more, so he's been doing it ever since.

For the last 10 years.

I have very few tag-team interviews where I can find NOTHING wrong technically with the interviewee. This was one of them. He even recommened some specific programming method for large data volume access/update that we have been using for a few years. None of the other candidates had even heard of it.

And the guy I was interviewing with is much harder than me. Was blown away as well.
New Any chance that he wants to move to LA?
I have come to believe that idealism without discipline is a quick road to disaster, while discipline without idealism is pointless. -- Aaron Ward (my brother)
New Or Seattle?
We're not having great luck finding good ones and we need many more.



"Whenever you find you are on the side of the majority, it is time to pause and reflect"   --Mark Twain

"The significant problems we face cannot be solved at the same level of thinking we were at when we created them."   --Albert Einstein

"This is still a dangerous world. It's a world of madmen and uncertainty and potential mental losses."   --George W. Bush
New Bunch of vultures
1 DBA. Just 1. That's all I ask for.

After going through a string of losers, doing damage, losing data, telling me that is OK if the system is slow, after all, the data is big (when I KNOW better), just 1 damn DBA is all I ask for.

You people with with your monster companies and your need for many DBAs wanting my 1 DBA? NO!!!! YOU CAN'T HAVE HIM!

Grow your own, dammit!
New We can't seem to grow them fast enough
See, we've got this big decentralization move on. Each group must maintain their own database (if they have one - my group is strictly UI frameworks). So everyone is busy trying to get DBA's for their groups. My parent group needs at least 2.



"Whenever you find you are on the side of the majority, it is time to pause and reflect"   --Mark Twain

"The significant problems we face cannot be solved at the same level of thinking we were at when we created them."   --Albert Einstein

"This is still a dangerous world. It's a world of madmen and uncertainty and potential mental losses."   --George W. Bush
New Damn, you have it good! Envy, envy.
Just so you know that that's not necessarily the typical situation...


   [link|mailto:MyUserId@MyISP.CountryCode|Christian R. Conrad]
(I live in Finland, and my e-mail in-box is at the Saunalahti company.)
Your lies are of Microsoftian Scale and boring to boot. Your 'depression' may be the closest you ever come to recognizing truth: you have no 'inferiority complex', you are inferior - and something inside you recognizes this. - [link|http://z.iwethey.org/forums/render/content/show?contentid=71575|Ashton Brown]
New There are a lot of atypical things about this company :-)
I have come to believe that idealism without discipline is a quick road to disaster, while discipline without idealism is pointless. -- Aaron Ward (my brother)
     Has anyone heard of a tool like this? - (ben_tilly) - (19)
         Im confused - (boxley) - (18)
             Explanation - (ben_tilly) - (17)
                 well that can be hand carved - (boxley) - (16)
                     That's a useless response - (ben_tilly) - (15)
                         Sounds like you are hand carving it - (broomberg) - (3)
                             I may have to... - (ben_tilly) - (2)
                                 Seems it does not meet the commercial x-over requirement - (broomberg) - (1)
                                     Point -NT - (ben_tilly)
                         spotted a book while looking for something else - (boxley) - (10)
                             I assume that our DBAs know that stuff... -NT - (ben_tilly) - (9)
                                 Don't. -NT - (CRConrad) - (8)
                                     I've seen the books on their desks... - (ben_tilly) - (7)
                                         Our new DBA starts next week - (broomberg) - (4)
                                             Any chance that he wants to move to LA? -NT - (ben_tilly) - (3)
                                                 Or Seattle? - (tuberculosis) - (2)
                                                     Bunch of vultures - (broomberg) - (1)
                                                         We can't seem to grow them fast enough - (tuberculosis)
                                         Damn, you have it good! Envy, envy. - (CRConrad) - (1)
                                             There are a lot of atypical things about this company :-) -NT - (ben_tilly)

Me are missing the hint.
194 ms