diff --git a/Android.bp b/Android.bp
index 7bc9bd8..2d62393 100644
--- a/Android.bp
+++ b/Android.bp
@@ -13187,6 +13187,7 @@
         "src/trace_processor/perfetto_sql/stdlib/sched/time_in_state.sql",
         "src/trace_processor/perfetto_sql/stdlib/slices/cpu_time.sql",
         "src/trace_processor/perfetto_sql/stdlib/slices/flat_slices.sql",
+        "src/trace_processor/perfetto_sql/stdlib/slices/hierarchy.sql",
         "src/trace_processor/perfetto_sql/stdlib/slices/slices.sql",
         "src/trace_processor/perfetto_sql/stdlib/slices/with_context.sql",
         "src/trace_processor/perfetto_sql/stdlib/stack_trace/jit.sql",
diff --git a/BUILD b/BUILD
index ad83cbe..8c8672f 100644
--- a/BUILD
+++ b/BUILD
@@ -2741,6 +2741,7 @@
     srcs = [
         "src/trace_processor/perfetto_sql/stdlib/slices/cpu_time.sql",
         "src/trace_processor/perfetto_sql/stdlib/slices/flat_slices.sql",
+        "src/trace_processor/perfetto_sql/stdlib/slices/hierarchy.sql",
         "src/trace_processor/perfetto_sql/stdlib/slices/slices.sql",
         "src/trace_processor/perfetto_sql/stdlib/slices/with_context.sql",
     ],
diff --git a/src/trace_processor/perfetto_sql/stdlib/slices/BUILD.gn b/src/trace_processor/perfetto_sql/stdlib/slices/BUILD.gn
index f69eafd..e4aba7a 100644
--- a/src/trace_processor/perfetto_sql/stdlib/slices/BUILD.gn
+++ b/src/trace_processor/perfetto_sql/stdlib/slices/BUILD.gn
@@ -18,6 +18,7 @@
   sources = [
     "cpu_time.sql",
     "flat_slices.sql",
+    "hierarchy.sql",
     "slices.sql",
     "with_context.sql",
   ]
diff --git a/src/trace_processor/perfetto_sql/stdlib/slices/hierarchy.sql b/src/trace_processor/perfetto_sql/stdlib/slices/hierarchy.sql
new file mode 100644
index 0000000..dff6475
--- /dev/null
+++ b/src/trace_processor/perfetto_sql/stdlib/slices/hierarchy.sql
@@ -0,0 +1,94 @@
+--
+-- Copyright 2024 The Android Open Source Project
+--
+-- Licensed under the Apache License, Version 2.0 (the "License");
+-- you may not use this file except in compliance with the License.
+-- You may obtain a copy of the License at
+--
+--     https://www.apache.org/licenses/LICENSE-2.0
+--
+-- Unless required by applicable law or agreed to in writing, software
+-- distributed under the License is distributed on an "AS IS" BASIS,
+-- WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+-- See the License for the specific language governing permissions and
+-- limitations under the License.
+
+-- Similar to `ancestor_slice`, but returns the slice itself in addition to strict ancestors.
+CREATE PERFETTO FUNCTION _slice_ancestor_and_self(
+  -- Id of the slice.
+  slice_id LONG
+)
+RETURNS TABLE(
+  -- Alias of `slice.id`.
+  id LONG,
+  -- Alias of `slice.type`.
+  type STRING,
+  -- Alias of `slice.ts`.
+  ts LONG,
+  -- Alias of `slice.dur`.
+  dur LONG,
+  -- Alias of `slice.track_id`.
+  track_id LONG,
+  -- Alias of `slice.category`.
+  category STRING,
+  -- Alias of `slice.name`.
+  name STRING,
+  -- Alias of `slice.depth`.
+  depth LONG,
+  -- Alias of `slice.parent_id`.
+  parent_id LONG,
+  -- Alias of `slice.arg_set_id`.
+  arg_set_id LONG,
+  -- Alias of `slice.thread_ts`.
+  thread_ts LONG,
+  -- Alias of `slice.thread_dur`.
+  thread_dur LONG
+) AS
+SELECT
+  id, type, ts, dur, track_id, category, name, depth, parent_id, arg_set_id, thread_ts, thread_dur
+FROM slice
+WHERE id = $slice_id
+UNION ALL
+SELECT
+  id, type, ts, dur, track_id, category, name, depth, parent_id, arg_set_id, thread_ts, thread_dur
+FROM ancestor_slice($slice_id);
+
+-- Similar to `descendant_slice`, but returns the slice itself in addition to strict descendants.
+CREATE PERFETTO FUNCTION _slice_descendant_and_self(
+  -- Id of the slice.
+  slice_id LONG
+)
+RETURNS TABLE(
+  -- Alias of `slice.id`.
+  id LONG,
+  -- Alias of `slice.type`.
+  type STRING,
+  -- Alias of `slice.ts`.
+  ts LONG,
+  -- Alias of `slice.dur`.
+  dur LONG,
+  -- Alias of `slice.track_id`.
+  track_id LONG,
+  -- Alias of `slice.category`.
+  category STRING,
+  -- Alias of `slice.name`.
+  name STRING,
+  -- Alias of `slice.depth`.
+  depth LONG,
+  -- Alias of `slice.parent_id`.
+  parent_id LONG,
+  -- Alias of `slice.arg_set_id`.
+  arg_set_id LONG,
+  -- Alias of `slice.thread_ts`.
+  thread_ts LONG,
+  -- Alias of `slice.thread_dur`.
+  thread_dur LONG
+) AS
+SELECT
+  id, type, ts, dur, track_id, category, name, depth, parent_id, arg_set_id, thread_ts, thread_dur
+FROM slice
+WHERE id = $slice_id
+UNION ALL
+SELECT
+  id, type, ts, dur, track_id, category, name, depth, parent_id, arg_set_id, thread_ts, thread_dur
+FROM descendant_slice($slice_id);
\ No newline at end of file
diff --git a/test/trace_processor/diff_tests/stdlib/slices/tests.py b/test/trace_processor/diff_tests/stdlib/slices/tests.py
index 796fcbd..5555c88 100644
--- a/test/trace_processor/diff_tests/stdlib/slices/tests.py
+++ b/test/trace_processor/diff_tests/stdlib/slices/tests.py
@@ -33,7 +33,8 @@
       """,
         out=Csv("""
         "name","ts","dur","depth","thread_name","tid","process_name","pid"
-        "ThreadSlice",5,6,0,"Thread",5,"Process",3
+        "ThreadSlice",5,8,0,"Thread",5,"Process",3
+        "NestedThreadSlice",6,1,1,"Thread",5,"Process",3
       """))
 
   def test_process_slice(self):
@@ -63,7 +64,44 @@
         "name","ts","dur","depth","thread_name","tid","process_name","pid"
         "AsyncSlice",1,2,0,"[NULL]","[NULL]","[NULL]","[NULL]"
         "ProcessSlice",3,4,0,"[NULL]","[NULL]","Process",3
-        "ThreadSlice",5,6,0,"Thread",5,"Process",3
+        "ThreadSlice",5,8,0,"Thread",5,"Process",3
+        "NestedThreadSlice",6,1,1,"Thread",5,"Process",3
+      """))
+
+  # Ancestor / descendant wrappers.
+
+  def test_slice_ancestor_and_self(self):
+    return DiffTestBlueprint(
+        trace=Path('trace.py'),
+        query="""
+        INCLUDE PERFETTO MODULE slices.hierarchy;
+
+        SELECT name, ts, dur, depth
+        FROM _slice_ancestor_and_self(
+          (SELECT id FROM slice WHERE name = 'NestedThreadSlice')
+        );
+      """,
+        out=Csv("""
+        "name","ts","dur","depth"
+        "NestedThreadSlice",6,1,1
+        "ThreadSlice",5,8,0
+      """))
+
+  def test_slice_descendant_and_self(self):
+    return DiffTestBlueprint(
+        trace=Path('trace.py'),
+        query="""
+        INCLUDE PERFETTO MODULE slices.hierarchy;
+
+        SELECT name, ts, dur, depth
+        FROM _slice_descendant_and_self(
+          (SELECT id FROM slice WHERE name = 'ThreadSlice')
+        );
+      """,
+        out=Csv("""
+        "name","ts","dur","depth"
+        "ThreadSlice",5,8,0
+        "NestedThreadSlice",6,1,1
       """))
 
   # Common functions
@@ -118,4 +156,4 @@
         7,33333
         8,46926
         9,17865
-        """))
+        """))
\ No newline at end of file
diff --git a/test/trace_processor/diff_tests/stdlib/slices/trace.py b/test/trace_processor/diff_tests/stdlib/slices/trace.py
index 395051c..79991d1 100644
--- a/test/trace_processor/diff_tests/stdlib/slices/trace.py
+++ b/test/trace_processor/diff_tests/stdlib/slices/trace.py
@@ -36,6 +36,8 @@
 
 trace.add_track_event_slice("AsyncSlice", ts=1, dur=2, track=async_track_id)
 trace.add_track_event_slice("ProcessSlice", ts=3, dur=4, track=process_track)
-trace.add_track_event_slice("ThreadSlice", ts=5, dur=6, track=thread_track)
+trace.add_track_event_slice("ThreadSlice", ts=5, dur=8, track=thread_track)
+trace.add_track_event_slice(
+    "NestedThreadSlice", ts=6, dur=1, track=thread_track)
 
 sys.stdout.buffer.write(trace.trace.SerializeToString())
