You are trying to know how many times a computed has been called, which is possible in itself, your issue is that both your counter for how many times it's been called and the computed have the same name, which doesn't make too much sense
This results in your computed having a dependency on itself, which calls itself infinitely (the name of the computed is value and you reference this.value in it)
This would result in the following stack trace where the computed never returns a value
// From template
this.value()
// From the computed
this.value()
// From the computed
this.value()
// From the computed
this.value()
// Infinitely
To achieve your count, you would need a differently named variable like this
const ComputedCounter = {
    name: "ComputedCounter",
    template: `
        <span>{{ computedValue }}, computedValue has been called {{ counter }} times</span>
    `,
    data() {
      return {
        counter: 0,
        value: 0,
      };
    },
    computed: {
        computedValue() {
           this.counter++; // Side effects in computed are higly discouraged and for any other case, you should use a watcher
           return this.value;
        }
    }
}