good altimeter widget or app

I am looking for a widget or an app that gives me 1.altitude, 2. rate of ascent (m/hour), 3. rate of descent (m/hour), 4. time of day, 5. heartrate

Any recommendations would be welcome.