It seems like there are multiple components to the stress system: stress caused by actions resulting in bad thoughts (getting rained on), stress caused by unmet needs (badly distracted by), probably some others. The stress from bad thoughts can spike suddenly (see billw's charts) based on what happened to the dwarf, but it seems like the stress from unmet needs seems to accumulate over time. Met needs seem to provide a minor stress relief (negative stress growth) for about a month, but don't automatically result in a massive stress reduction when met (for long term needs that are suddenly fixed). The system also automatically meets a number of needs (had a drink, slept in a room, saw some art, etc) and whatever labors a dwarf has can satisfy others (crafting, staying occupied, etc). There are a couple that require specific player action, and the best way to satisfy those is still up in the air.
From my own tests on needs metrics, it looks drinking and crafting are the biggest consistent potential stress makers. Keeping Drinking satisfied isn't really a problem, but keeping any number of dwarves making things long term seems problematic. Devout dwarves also generate stress if they don't pray, but can be solved by giving them plenty of idle time to do their prayer thing. My suggestion for satisfying social needs is to use small meeting zones (5x5 or smaller) for temples, libraries, and taverns. Afaik, dwarves still require other dwarves to be within 1 square (for some period of time) in order to interact with them. Note that if/when dwarves do make friends/family, you're right back at the tantrum spiral.
The only vanilla way to get a feel for stress before it becomes an issue is to check each dwarf for good/bad thoughts and met/unmet needs, afaik.