Welcome to GIS SE, JS5687!
If, like me, you are unfamiliar with coding - such as the answer provided by @Taras - here's an old-school GIS analysis process. For my example, I have two layers named triangle and circle, both in the same CRS:

- I added two numeric attribute fields to triangle: exist_tri (calculated to the number 1) and area_tri (calculated to $area, which results in the area in square feet - or whatever unit of measure is appropriate for the CRS):

- I added two numeric attribute fields to circle: exist_cir (calculated to the number 1) and area_cir (calculated to $area, which results in the area in square feet - or whatever unit of measure is appropriate for the CRS):

Then I ran the Vector > Geoprocessing Tools > Union... tool, with the Input Layer = triangle and the Overlay Layer = circle. Note that in this case, it doesn't matter which layer is the Input or the Overlay.
Here's the result from the Union. Note that there are three records, one for each output polygon. Note also that the four attribute fields that I earlier added (two for triangle and two for circle) are all present in the output table. Furthermore, those fields contain their original values.

I then added a new numeric attribute field to the output layer, area_union, and calculated it to $area. This generates the area for each of the three output polygons.
Next, I added three additional numeric attribute fields to the output layer: pct_tri, pct_cir, and pct_tri_cir, calculating each to NULL.
Below is the final product. Note that overlap(s) always occur where exist_tri = 1 and exist_cir = 1, which is what I have selected. Following the selection, I apply these formulas, using the field calculator:
pct_tri = ("area_union" / "area_tri") * 100
- this is the proportion of triangle that is covered by the overlap(s)
pct_cir = ("area_union" / "area_cir") * 100
- this is the proportion of circle that is covered by the overlap(s)
pct_tri_cir = ("area_union" / ("area_tri" + "area_cir" - "area_union")) * 100
- this is the proportion of the outer boundary of triangle and circle that is covered by the overlap(s)
- If I understand your question correctly, this is the value that will be of interest to you; pct_tri and pct_cir are included in case other readers have different needs.
